go-json类
package main import (
"encoding/json"
"fmt"
) /*
{
"company":"itcast"
"":[
"go"
"c++"
],
"isok":"ok"
"price":"666"
}
*/
//成员变量名首字母必须大写
type IT struct {
Company string `json:"company"` //变为小写
Subject []string
Isok bool `json:",string"`
Price float32
} type IT2 struct {
Company string `json:"company"`
Subject []string `json:"subject"`
Isok bool `json:"isok"`
Price float32 `json:"price"`
} func main() {
s := IT{"itcast", []string{"go", "c++"}, true, } buf, err := json.Marshal(s)
if err != nil {
fmt.Println(err)
}
fmt.Println(string(buf))
//{"Company":"itcast","Subject":["go","c++"],"Isok":true,"Price":666} //格式化编码
buf2, err := json.MarshalIndent(s, "", " ")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(buf2)) //通过Map生成json
m := make(map[string]interface{}, )
m["compary"] = "itcast"
m["subjects"] = []string{"go", "c++"}
m["Isok"] = true
m["price"] = result, err2 := json.Marshal(m)
if err2 != nil {
return
}
fmt.Println(string(result)) //json 解析到 结构体
jsonbuf := `{"Isok":true,"compary":"itcast","price":,"subjects":["go","c++"]}` var tmp IT2
err3 := json.Unmarshal([]byte(jsonbuf), &tmp)
if err3 != nil {
fmt.Println(err3)
return
}
fmt.Println(tmp) //json 解析到map
m2 := make(map[string]interface{}, )
err4 := json.Unmarshal([]byte(jsonbuf), &m2)
if err4 != nil {
fmt.Println(err4)
}
fmt.Println("map = ", m2) //取元素
for key, value := range m {
fmt.Println(key, value)
switch data := value.(type) {
case string:
fmt.Println(data)
case int:
fmt.Println(data)
}
}
}
go-json类的更多相关文章
- [.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类
[.net 面向对象程序设计进阶] (13) 序列化(Serialization)(五) Json 序列化利器 Newtonsoft.Json 及 通用Json类 本节导读: 关于JSON序列化,不能 ...
- ecshop json类的使用
ecshop中有2个地方使用了json,一个是cls_json.php文件,一个是transport.js文件. cls_json 封装了json类,可以调用里面的encode的方法,根据参数不同,进 ...
- php递归json类实例代码
这篇文章主要介绍了php递归json类的实现方法,可以实现对索引数组及数字数组的解析,进而实现递归数组返回json字符串的功能.具体实现代码如下: <?php /* * @ anthor:QD ...
- C#代码 json类
using System; using System.Collections.Generic; using System.Collections; using System.Text; using S ...
- C# 转换Json类
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.R ...
- Visual Studio自动生成XML类和JSON类
Visual Studio 2013及以上版本提供了一个非常实用的功能.可以根据xml文档或json文档自动生成类.有了这个工具反序列化时就不用再手动写类并且实现了强类型操作. 步骤 1. 准备一份j ...
- Delphi 10.2 Tokyo新增JSON类学习——TJsonSerializer
Delphi 10.3.2 for windows 7 编译通过,源码下载地址: Tokyo 10.2新增类,效率更高更快 TJsonSerializer 需要引用单元:System.JSON.Ser ...
- 【Mysql】Mysql Json类型或Text类型可以建索引吗?
一.JSON类型 答案是不可以 为Json类型建索引会报错 mysql)); ERROR (): JSON column 'card_pay_data' cannot be used in key s ...
- 【JSON类】使用说明
理解键名路径 键名路径(keyPath)用于定位json的键,比如:{book: {title:”中国人”} },键名路径 book.title 表定位到book下的title键. 对于值是数组类型的 ...
- C# 在知道对象时编译json 而不调用json类
StringBuilder sb = new StringBuilder(); sb.Append('['); foreach (va ...
随机推荐
- yolo进化史之yolov3
yolov3的论文写的比较简略,不看yolov1,yolov2很难直接看懂. 建议先看v1,v2论文. yolov3主要做了几点改进 改进了特征提取部分的网络结构 多尺度预测 分类由softmax改为 ...
- 取html里的img和去html标签
C# : public string RemoveHTML(string html) { html = Regex.Replace(html, @"<script[^>]*?& ...
- [Advanced Python] 10 - Transfer parameters
动态库调用 一.Python调用 .so From: Python调用Linux下的动态库(.so) (1) 生成.so:.c to .so lolo@-id:workme$ gcc -Wall -g ...
- 一篇文章了解Redis数据库
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).l ...
- C# 代码往oracle数据库添加datetime格式列
C# 代码往oracle数据库添加datetime格式列时,不需要在insert语句中为datetime类型使用to_date函数
- Appium+python自动化(三十八) - Appium自动化测试框架综合实践 - 框架简介-助你冲击高薪,迎娶白富美(超详解)
简介 好久没有更新博客了,博友们是不是有点等不及了.不好意思啊,中秋节过后太忙了,这篇是好不容易抽点零碎时间写的.从这一篇开始小伙伴或者童鞋们,就跟随宏哥的脚步,一步步的从无到有,从0到1的搭建一个完 ...
- linux环境下Nginx的配置及使用
切换到目录/usr/local/nginx/sbin,/usr/local为nginx的默认安装目录 #启动 ./nginx #查看命令帮助 ./nginx -h 验证配置文件状态 ./nginx - ...
- html盒模型基础
盒模型 概念:如果CSS对HTML文档元素生成了该元素在HTML文档布局中占据空间的矩形元素框(element box),称盒子 通过一系列定义盒子的 ...
- cmd控制台 wrapper | OpenSCManager failed - 拒绝访问。 (0x5)解决
在windows上安装mycat执行命令时, D:\develop\Mycat\bin>mycat.bat install 返回wrapper | OpenSCManager failed - ...
- MongoDB的复制源oplog
之前有说过MongoDB的复制是异步复制的,其实也就是通过oplog来实现的,他存放在local数据库中,我们来查询一下主节点的日志大小. 除了主节点有oplog之外,其他节点也就有oplog ...