123456789101112131415161718192021222324252627282930313233343536373839 |
- package mapping
- import (
- "io"
- "github.com/tal-tech/go-zero/core/jsonx"
- )
- const jsonTagKey = "json"
- var jsonUnmarshaler = NewUnmarshaler(jsonTagKey)
- // UnmarshalJsonBytes unmarshals content into v.
- func UnmarshalJsonBytes(content []byte, v interface{}) error {
- return unmarshalJsonBytes(content, v, jsonUnmarshaler)
- }
- // UnmarshalJsonReader unmarshals content from reader into v.
- 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)
- }
|