在Go中解析JSON(没有Unmarshal)

时间:2014-04-01 18:27:38

标签: json parsing go

我需要在Golang中解析任意JSON结构,以便将它们转换为另一种语言格式(无论是C结构还是XML),但Golang库显然使得编组和解组成结构和映射无法做到这一点

我甚至不一定需要来自JSON输入的类似地图的数据结构。我所需要的只是一个递归解析器,甚至可能是PHP的XMLParser,你决定在每个节点做什么,所以我可以翻译它而不需要地图或接口。

1 个答案:

答案 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()