我需要在Golang中解析任意JSON结构,以便将它们转换为另一种语言格式(无论是C结构还是XML),但Golang库显然使得编组和解组成结构和映射无法做到这一点
我甚至不一定需要来自JSON输入的类似地图的数据结构。我所需要的只是一个递归解析器,甚至可能是PHP的XMLParser,你决定在每个节点做什么,所以我可以翻译它而不需要地图或接口。
答案 0 :(得分:2)
megajson package中有一个scanner
个包,可让您自己走过json。
scanner := scanner.NewScanner(strings.NewReader(`{"foo":"bar",
"bat":1293,"truex":true,"falsex":false,"nullx":null,"nested":{"xxx":"yyy"}}`))
// Scan for the next JSON token.
position, token, err := scanner.Scan()