小编典典

如何解组具有不同值类型的json数组

go

例如:

{["NewYork",123]}

因为json数组被解码为go数组,并且go数组需要显式定义类型,所以我不知道如何处理它。


阅读 425

收藏
2020-07-02

共1个答案

小编典典

首先,json无效,对象必须具有键,因此它应该类似于{"key":["NewYork",123]}或just ["NewYork",123]

而当您处理多种随机类型时,只需使用即可interface{}

const j = `{"NYC": ["NewYork",123]}`

type UntypedJson map[string][]interface{}

func main() {
    ut := UntypedJson{}
    fmt.Println(json.Unmarshal([]byte(j), &ut))
    fmt.Printf("%#v", ut)
}

playground

2020-07-02