猿问

在 Go 中维护未解析的 JSON 字段的最佳方法是什么?

我想将 JSON blob 解码为 Go 结构,对其进行操作,然后将其编码回 JSON。但是,JSON 中有与我的结构无关的动态字段,我想在序列化回 JSON 时维护它们。


例如:


{ "name": "Joe Smith", 

  "age": 42, 

  "phone": "614-555-1212", 

  "debug": True, 

  "codeword": "wolf" }


type Person struct {

    Name string

    Age uint

    Phone string

}


var p Person

json.Unmarshal(data, &p)

// Happy birthday

p.Age++

data, _ = json.Marshal(p)


// Any way to maintain the "debug" and "codeword" fields -- which might not

// be known ahead of time?

我知道一种可能性是将所有内容解码为一个map[string]interface{}男孩,当你这样做时,事情会变得丑陋。


有什么办法可以两全其美吗?


米脂
浏览 252回答 3
3回答

慕桂英4014372

包go-simplejson对这类工作很方便。
随时随地看视频慕课网APP

相关分类

Go
我要回答