手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

golang的json处理

首页 > Go >

 golang的Json处理还算是比较方便的吧?

比如:json.Marshal就完成了处理。
 
OK,开始说事儿:
1、
var s = make(map[string]interface{})
s["userid"] = "123"
s["time"] = "12345"
result , _ = json.Marshal(s);
println(string(result))
这时候你会发现,打印出来的json数据。。。time居然在前面。。。map没有顺序,果然是这样的。
 
那怎么把userid放在最前面呢?
 
2、type JsonData struct{
UserId string `json:"userid"`
Time string `json:"time"`
}
j := JsonData{UserId:"123",Time:"12345"}
result,_ = json.Marshal(j);
println(result);
这时候出来的才是按顺序的json数据
 
这两种情况根据需要写吧。其实我自己是比较偏向于第一种,json要顺序干嘛。不过有些程序写的比较硬编码,不是按JSON解析的话,就只能用第二种,定义标准的输出了。。
再加上之前我也记录过,json.Marshal,只针对struct中的首字符大写的KEY进行encode,小写直接就忽略,所以还必须得写上tag。好痛苦的事情啊



本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: json, golang

« 上一篇 | 下一篇 »

只显示10条记录相关文章

常用网站的反向代理页[2013-09-28] (浏览: 35927, 评论: 10)
javascipt的{}中逗号带来的困扰 (浏览: 21022, 评论: 6)
Golang官网被墙解决办法 (浏览: 15251, 评论: 0)
笔记:json_encode和jquery等 (浏览: 12285, 评论: 0)
苹果推送注意事项 (浏览: 11107, 评论: 0)
go语言的json (浏览: 10483, 评论: 0)
推送通知消息负载内容和本地格式字符串 (浏览: 10438, 评论: 0)
golang的md5用法 (浏览: 9319, 评论: 1)
很妖的实现:以JSon来实现TextBox可选择可输入 (浏览: 8768, 评论: 0)
来自雪候鸟的关于JSON一些提示 (浏览: 8225, 评论: 1)

发表评论

评论内容 (必填):