如何分析json?Marshal with golang源代码,针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的小伙伴找到更简单更容易的方法。
Golang的结构可以添加类似于Java中@JsonProperty('id ')的注释。用后引号括在结构中的字符串称为标记。
类型Cyeam结构{
Url字符串“js :”URL“”
其他字符串“js :”-“”
}在Tag中加入json的Tag定义,可以实现输出的格式控制。此外,如果json字段的标记被定义为-,它将不会被解析。
这样强大的功能,借助反射包,不难实现。
c :=Cyeam { URL : ' blog . Cyeam.com ',Other: ' . '}
var t反映。类型
t=反射。类型(c)
var v反射。价值
v=反射。值(c)
JSON :=“{”
对于I :=0;I t . NumField();我
if . t . Field(I). tag . get(' JSON ')!='-' {
JSON=' \ ' t . Field(I). tag . get(' JSON ')' \ ' : \ ' v . Field by name(t . Field(I)。姓名)。string()“\”
}
}
JSON=“}”
fmt。Println(json)
{'url':'blog.cyeam.com'}对于每个对象,您可以获取其类型和值。T.NumField()方法可以得到结构中包含的Values的个数,t.Field(i)方法可以得到索引值处的变量值。通过这两种方法,我们可以遍历结构变量。字段(i).Tag.Get('json ')可以获取当前字段的Tag,并从中获取json的Tag值。这样就可以完成结构的遍历和最终JSON流的拼接生成。
如何分析json问题的答案?元帅与戈朗源代码就分享在这里,希望。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144628.html