如何将JSON解析到具有可变类型的Golang的地图中



我有以下来自盐堆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)
}

游乐场

相关内容

  • 没有找到相关文章

最新更新