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

golang的json处理

首页 > >

 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条记录相关文章

php pack()函数详解与示例 (浏览: 63012, 评论: 6)
golang将byte的int转换 (浏览: 46929, 评论: 1)
javascipt的{}中逗号带来的困扰 (浏览: 30615, 评论: 6)
Yii Behavior的简单用法 (浏览: 20685, 评论: 1)
关于APNS的一些事(是以前的补充) (浏览: 19912, 评论: 1)
typecho 插件开发(三) (浏览: 19315, 评论: 0)
MySQL Proxy 0.7.0 is finally released (浏览: 18181, 评论: 0)
Typecho Slug 拼音插件 (浏览: 17499, 评论: 0)
全文索引的苦逼记事一 (浏览: 16603, 评论: 0)
记录Xcode4.3无法安装的问题 (浏览: 14807, 评论: 0)

发表评论

评论内容 (必填):