golang中,想使用json,是不是每次都必须定义一个struct? 否者怎么实现?

golang中,想使用json,是不是每次都必须定义一个struct?
否者怎么实现?

共 2 个回复


howcrazy

可以是可以,当然完全不建议这么做。。。

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    m := map[string]interface{}{}
    bs := []byte(`{"A": 1, "B": "Z", "D": {"E": 2}}`)
    json.Unmarshal(bs, &m)
    fmt.Println(m)
    fmt.Println(m["A"].(float64))
    fmt.Println(m["B"].(string))
    fmt.Println(m["D"].(map[string]interface{}))
    bs, _ = json.Marshal(m["D"])
    fmt.Println(string(bs))
}
# 0

sryan

可以使用和c解析json一样的办法 就是麻烦了点

# 1