我正在尝试从文档中提取 JSON 字符串并放入 GOlang 中的 SimpleJson,尽管我遇到了类型问题(再次..)
我收到以下错误:
不能在函数参数中使用 document[0](类型 uint8)作为类型 []byte
出错的那一行是:
js, err := simplejson.NewJson(document[0])
谁能帮我解决这个问题,还有我可以阅读有关类型和转换的好地方吗?来自没有类型的php和转换简单的python,GO在这方面有点混乱。
谢谢 :-)
首先,uint8
只是byte
. 因此[]uint8
与 相同[]byte
。
错误消息告诉您的是 document[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 找到的包)