猿问

从 relfect.Value 编码 JSON

在 encoding/json 下面它使用 relfect 来编码结构。


但是我如何编码已经是一种类型的东西。


看看下面的代码:


type Person struct {

    Name string `json:"name"`

    Pwd string `json:"pwd"`

}


func main() {

    factory := map[string]reflect.Type{

        "Person":reflect.TypeOf(Person{}),

    }


    s := reflect.New(factory["Person"]).Elem()

    s.Field(0).SetString("Max")

    s.Field(1).SetString("Password")

    j, err := json.Marshal(s)

    if err != nil {

        fmt.Println("error")

    }

    fmt.Println(j)

}

它的输出是这样的:


[123 34 102 108 97 103 34 58 52 48 54 125]

这些是什么?这样做的正确方法是什么,我的意思是从reflect.Value 类型中获取正确的json 字符串?


一只名叫tom的猫
浏览 177回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答