我正在尝试将一个JSON字符串从文档中拉出并进入GOlang中的SimpleJson,尽管我遇到了类型问题(再次......)
我收到以下错误:
不能使用document [0](类型uint8)作为函数参数
中的[]字节
和错误的行是:
js, err := simplejson.NewJson(document[0])
有谁可以帮我解决这个问题,还有一个我可以阅读关于类型和转换的好地方吗?来自没有类型的PHP和转换很简单的python,GO在这方面有点令人困惑。
谢谢: - )
答案 0 :(得分:6)
首先,uint8
只是byte
的别名。因此[]uint8
与[]byte
相同。
错误消息告诉您文档[0]的类型为uint8
而不是[]byte
从您的评论中可以清楚地看出document
是string
。你应该将它转换为[]字节。如果JSON数据本身包含一个数组,则必须首先解析文档(将其传递给NewJson),然后才能检索JSON数组的第一个值。
因此,请将代码更改为:
js, err := simplejson.NewJson([]byte(document))
// error testing
jsonArray, err := js.Array()
// more error testing
fmt.Println(jsonArray[0])
(我假设您已经导入了github.com/xiocode/toolkit/simplejson
包。我唯一能找到的就是simplejson.NewJson)