golang有一种简单的方法来解组任意复杂的json

我在网上看到的每个示例都显示了构建数据结构的示例,然后将JSON编组为数据类型。问题是我得到的是JSON的大量转储,使用这种方法似乎很费力。

有没有办法采取大量数据转储并将其解编为类似于对象的地图,其功能类似于json / maps?

我现在所拥有的就是这样…

var data map[interface{}]interface{}

err = json.Unmarshal(JSONDUMP, &data)

if err != nil { log.Fatal(err) }

但是我不能这样称呼它

data["some"]["long"]["chain"]["of"]["lookups"] 

(type interface {} does not support indexing)

回答:

总的来说,这是一个 主意!但是,如果您确实需要,可以这样做:

package main

import (

"encoding/json"

"fmt"

)

func main() {

var anyJson map[string]interface{}

customJSON := []byte(`{"a": "text comes here", "b": {"c":10, "d": "more text"}}`)

json.Unmarshal(customJSON, &anyJson)

fmt.Println("a ==", anyJson["a"].(string))

b_temp := anyJson["b"].(map[string]interface{})

fmt.Println("c ==", b_temp["c"].(float64))

}

..那么您可以使用任何类似的字段anyJson["a"].(string)-查看类型断言,有效是至关重要的

以上是 golang有一种简单的方法来解组任意复杂的json 的全部内容, 来源链接: utcz.com/qa/419039.html

回到顶部