在 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 字符串?
相关分类