json字符串经过json.Unmarshal与json.Marshal出来字符串与最初的字符串顺序不一致问题

ltp5343 · · 5157 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

``` func main() { src := `{"iss":"magic-ios-1.0.0","iat":1487000471,"jti":"4861ed10","rbd":"dbac2c5f","uri":"/auth/hello","ttu":""}` var params interface{} err := json.Unmarshal([]byte(src), &params) if err != nil { fmt.Printf("%v\n", err) return } p, _ := json.Marshal(params) fmt.Printf("%v, %s\n", params, p) } ``` 问题描述: 1. json原始字符串 ``` src := {"iss":"magic-ios-1.0.0","iat":1487000471,"jti":"4861ed10","rbd":"dbac2c5f","uri":"/auth /hello","ttu":""} ``` 2. 经过json.Unmarshal,再次 json.Marshal的输出结果与原始字符串不一致,如下: ``` map[iss:magic-ios-1.0.0 iat:1.487000471e+09 jti:4861ed10 rbd:dbac2c5f uri:/auth/hello ttu:], {"iat":1.487000471e+09,"iss":"magic-ios-1.0.0","jti":"4861ed10","rbd":"dbac2c5f","ttu":"","uri":"/auth/hello"} ``` 有人遇到这种问题嘛?json串字段顺序变了,原始字符串md5值与一次转换后的字符串md5值就不一致了。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5157 次点击  
加入收藏 微博
7 回复  |  直到 2017-05-09 09:35:50
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传