3 回答
TA贡献1744条经验 获得超4个赞
我认为您将需要将unmarshal它们递归(如果它们包含嵌套的 json)转换为类似的内容map[string]interface{},然后循环遍历并比较键。在这个问题上提到了一些库https://stackoverflow.com/a/42153666可以unmarshal安全地使用它们。
例如,您可以Exists在遍历未编组映射中的键时使用 gabs 库,以查看其他映射中是否存在相同的键。
// From gabs library
// Exists checks whether a field exists within the hierarchy.
func (g *Container) Exists(hierarchy ...string) bool {
return g.Search(hierarchy...) != nil
}
编辑:这里没有库:https: //play.golang.org/p/jmfFsLT0G1n基于此代码高尔夫练习的测试用例:https ://codegolf.stackexchange.com/questions/195476/extract-all-keys-来自对象 json
TA贡献1802条经验 获得超4个赞
Go 的标准库中提供的 json 包为我们提供了我们需要的所有功能。对于任何 JSON 字符串,解析它的标准方法是:
import "encoding/json" //...
// ... myJsonString := `{"some":"json"}`
// `&myStoredVariable` is the address of the variable we want to store our // parsed data in
json.Unmarshal([]byte(myJsonString), &myStoredVariable)
//...
- 3 回答
- 0 关注
- 157 浏览
添加回答
举报