12345678910111213141516171819202122232425262728293031323334353637 |
- package mapping
- import (
- "io"
- "github.com/tal-tech/go-zero/core/jsonx"
- )
- const jsonTagKey = "json"
- var jsonUnmarshaler = NewUnmarshaler(jsonTagKey)
- func UnmarshalJsonBytes(content []byte, v interface{}) error {
- return unmarshalJsonBytes(content, v, jsonUnmarshaler)
- }
- func UnmarshalJsonReader(reader io.Reader, v interface{}) error {
- return unmarshalJsonReader(reader, v, jsonUnmarshaler)
- }
- func unmarshalJsonBytes(content []byte, v interface{}, unmarshaler *Unmarshaler) error {
- var m map[string]interface{}
- if err := jsonx.Unmarshal(content, &m); err != nil {
- return err
- }
- return unmarshaler.Unmarshal(m, v)
- }
- func unmarshalJsonReader(reader io.Reader, v interface{}, unmarshaler *Unmarshaler) error {
- var m map[string]interface{}
- if err := jsonx.UnmarshalFromReader(reader, &m); err != nil {
- return err
- }
- return unmarshaler.Unmarshal(m, v)
- }
|