我可以部分解码 JSON 吗?

huangapple go评论87阅读模式
英文:

Can I decode JSON only partially

问题

我有一个相当复杂的 JSON 文档,但我只需要解码其中一个字符串 locationx。我想知道是否可能只解码特定字段(通过名称匹配),而无需编写整个文档的结构体。我看到有时即使结构体与文档结构不完全匹配,也可以解码 JSON 文档。

英文:

I have a quite complex json document but I need to decode only one string locationx. I'm wondering if it's possible to decode only a specific field (matching by name somehow ) without to write the struct for the whole document. I've seen that sometimes it works to decode json documents even if the struct doesn't match 100% the document structure.

答案1

得分: 10

是的,你可以只提及你感兴趣的字段,解码器会忽略其他字段,例如:

type MyData struct {
	Location  string `json:"locationx"`
}
var x MyData
err := json.Unmarshal(jsonBlob, &x)
if err != nil {
	fmt.Println("错误:", err)
}
英文:

Yes, you can just mention the fields you are interested in and the decoder will ignore any others, eg

type MyData struct {
	Location  string `json:"locationx"`
}
var x MyData
err := json.Unmarshal(jsonBlob, &x)
if err != nil {
	fmt.Println("error:", err)
}

huangapple
  • 本文由 发表于 2014年5月9日 15:59:35
  • 转载请务必保留本文链接:https://go.coder-hub.com/23559443.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定