JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了解密未知字段的JSON大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下的 JSON
{"a":1,"b":2,"?":1,"??":1}

我知道它有“a”和“b”字段,但我不知道其他字段的名称.所以我想解散它在以下类型:

type Foo struct {
  A int `json:"a"`
  B int `json:"b"`
  X map[string]interface{} `json:???` // Rest of the fields should go here.
}

我怎么做?

解决方法

这不是很好,但你可以通过实施Unmarshaler:
type _Foo Foo

func (f *Foo) UnmarshalJSON(bs []byte) (err error) {
    foo := _Foo{}

    if err = json.Unmarshal(bs,&foo); err == nil {
        *f = Foo(foo)
    }

    m := make(map[string]interface{})

    if err = json.Unmarshal(bs,&m); err == nil {
        delete(m,"a")
        delete(m,"b")
        f.X = m
    }

    return err
}

类型_Foo是必要的,以避免解码时的递归.

大佬总结

以上是大佬教程为你收集整理的解密未知字段的JSON全部内容,希望文章能够帮你解决解密未知字段的JSON所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:json