json.go 561 B

12345678910111213141516171819202122232425262728
  1. package parser
  2. import "encoding/json"
  3. func UnmarshalJson[T any](text string) (T, error) {
  4. return UnmarshalJsonBytes[T]([]byte(text))
  5. }
  6. func UnmarshalJsonBytes[T any](data []byte) (T, error) {
  7. var result T
  8. err := json.Unmarshal(data, &result)
  9. return result, err
  10. }
  11. func MarshalJson[T any](data T) string {
  12. b, _ := json.Marshal(data)
  13. return string(b)
  14. }
  15. func MarshalJsonBytes[T any](data T) []byte {
  16. b, _ := json.Marshal(data)
  17. return b
  18. }
  19. func UnmarshalJson2Map(json []byte) (map[string]any, error) {
  20. return UnmarshalJsonBytes[map[string]any](json)
  21. }