我有以下来自盐堆API的JSON响应:
{
"return": [{
"<UUID1>": true,
"<UUID2>": "Minion did not return. [No response]",
"<UUID3>": true,
"<UUID4>": false
}]
}
我通常使用地图结构在GO中拆除它:
type getMinionsStatusResponse struct {
Returns []map[string]bool `json:"return"`
}
但是,由于第二行返回错误响应(以字符串格式(而不是布尔值,所以我得到以下错误: json: cannot unmarshal string into Go value of type bool
我想知道我如何使用encoding/json
软件包在Golang中使用这种JSON格式?
对于解散动态JSON,其中输出是不同的使用接口,以使其相同。它将在其内部的任何类型的构造中构造整个JSON。
package main
import (
"fmt"
"encoding/json"
)
func main() {
jsonbytes := []byte(`{
"return": [{
"<UUID1>": true,
"<UUID2>": "Minion did not return. [No response]",
"<UUID3>": true,
"<UUID4>": false
}]
}`)
var v interface{}
if err := json.Unmarshal(jsonbytes, &v); err != nil{
fmt.Println(err)
}
fmt.Println(v)
}
游乐场