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

go语言的json

首页 > Go >

 在写一段代码测试的时候,用上了json类,因为json还算是比较常用的,所以这个的转换什么的要先掌握好。

吭嗞吭嗞写完代码,发现输出都是空,想想不科学啊,struct还是struct,为什么都输出空呢。
想着astaxie说过为了给大家写文档,特地写了一个项目gopkg,于是上去看了看:https://github.com/astaxie/gopkg/blob/master/encoding/json/Marshal.md
 
咦,代码结构和程序都是几乎一样的,那为什么会出错呢?
去群里问了一下,原来就是因为首字母小写的问题。
 
一直以为只有func的首字母大小写代表了 公有方法和私有方法,原来,变量这玩意也是这个含义。。。纠结,做个笔记备份一下:
贴出错误代码:
type ColorGroup struct {
id    int
name  string
color []string
}
colorgroups := ColorGroup{
id:    1,
name:  "reds",
color: []string{"a", "b", "c"},
}
b, _ := json.Marshal(colorgroups)
os.Stdout.Write(b)
----
struct中的变量要注意大小写。。。。。
小写的话,在转换的时候就会隐藏掉,可以根据情况进行设置
当然,如果确实 需要小写,又需要输出,怎么办呢??
 
可以写tag ,参考:
 
 type ColorGroup struct {
Id    int`json:"id"`
name  string `json:"name"`
color []string `json:"color"`
}
反正。。。struct输出json,一定要大写,但是如果要变成输出小写,就得用tag
如果原来就是小写,再怎么写TAG,也不会输出。。。



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

Tags: json, golang

« 上一篇 | 下一篇 »

只显示10条记录相关文章

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

发表评论

评论内容 (必填):