如何使用无法在结构体:GOlang中捕获为`json`的动态关键字解组jSON [英] How to Unmarshal jSON with dynamic key which can't be captured as a `json` in struct: GOlang
本文介绍了如何使用无法在结构体:GOlang中捕获为`json`的动态关键字解组jSON的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
type X struct {
字符串`json:a_known_string`
B字符串`json:b_known_string`
}
:
jsnStr:= [从文件读入并打印出来确认]
它是:
{
任意字符串:{
a_known_string:某个值,
b_known_string:另一个值
}
}
只是结构体,我可以:
pre code $ var x
err:= json.Unmarshal(jsnStr,& x)
但我需要捕获'任意字符串'。
我该怎么做?
解决方案
使用地图:
var m map [string] X
err:= json.Unmarshal([] byte(jsnStr),& m)
I have this struct defined:
type X struct {
A string `json:"a_known_string"`
B string `json:"b_known_string"`
}
This sample JSON:
jsnStr := [read in from a file and printed out to confirm]
It is:
{
"any string" : {
"a_known_string" : "some value",
"b_known_string" : "another value"
}
}
If it was just the struct, I could:
var x X
err := json.Unmarshal(jsnStr, &x)
But I need to capture that 'any string'. How do I do that please?
解决方案
Use a map:
var m map[string]X
err := json.Unmarshal([]byte(jsnStr), &m)
这篇关于如何使用无法在结构体:GOlang中捕获为`json`的动态关键字解组jSON的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文