例如:
{["NewYork",123]}
因为json数组被解码为go数组,并且go数组需要显式定义类型,所以我不知道如何处理它。
首先,json无效,对象必须具有键,因此它应该类似于{"key":["NewYork",123]}或just ["NewYork",123]。
{"key":["NewYork",123]}
["NewYork",123]
而当您处理多种随机类型时,只需使用即可interface{}。
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