求 JSON 2个函数

hellsam · · 806 次点击
大致明白你要做什么了,你可以参考下面这个例子,仅仅是可以使用 还有很多细节需要考虑。同时 我觉得你的思路并不是一个好的设计。 package main import ( "encoding/json" "fmt" ) type Test struct { Name string Sex string Age int } type Test2 struct { Code int Msg Test } func JSON_Serialize(obj interface{}) (b []byte, err error) { b, err = json.Marshal(obj) if err != nil { return nil, err } return b, nil } func JSON_Deserialize(req []byte) (s map[string]interface{}, err error) { err = json.Unmarshal(req, &s) if err != nil { return nil, err } return s, nil } func main() { test := Test{"zy", "male", 20} test2 := Test2{0, test} req, _ := JSON_Serialize(&test2) fmt.Println(string(req)) req2map, _ := JSON_Deserialize([]byte(req)) fmt.Println(req2map) req2map["Code"] = 5 fmt.Println(req2map) } 这个代码有些问题,比如会不经意间修改了json数据节点的值类型,而不会报错。再比如如果json有嵌套结构你还是需要用类型断言来处理。
#9
更多评论
你这不是已经写了吗?
#1
<a href="/user/channel" title="@channel">@channel</a> 这个代码有问题 所以来请教各位大牛
#2