码迷,mamicode.com
首页 > Web开发 > 详细

60_通过结构体生成json

时间:2019-10-06 00:10:42      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:str   16px   json   pac   字符串类   price   sha   打印   people   


1.json是跨平台.跨语言的数据交换语言

  JSON (JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成。尽管JSON是JavaScript的一个子集,但JSON采用完全独立于编程语言的文本格式,且表现为键/值对集合的文本描述形式(类似一些编程语言中的字典结构),这使它成为较为理想的、跨平台、跨语言的数据交换语言。



package main

import (
"encoding/json"
"fmt"
)

//通过结构体生成json 文本,其成员变量名必须大写
type People struct {
//由于结构体生成json文本成员变量必须大写,可以使用struct_tag来二次编码,此时可以使用小写
Name string `json:"name"`
Subject []string
Isok bool `json:", string"` //转换成字符串类型输出
Price float64 `json:"-"` //不打印
} //这时输出的成员变量就是小写

func main() {
p1 := People{"steven", []string{"C++", "Go", "Python"}, true, 66.66}

//编码
res, err := json.Marshal(p1)
if err != nil {
fmt.Println("err=", err)
return
}
//fmt.Println(res)//打印的是[]byte格式
fmt.Println(string(res)) //转换成string类型

//格式化编码,使结构更加清晰
res1, err1 := json.MarshalIndent(p1, "", " ") //第二个参数是空,第三个是缩进
if err != nil {
fmt.Println("err1=", err1)
return
}
fmt.Println(string(res1))
}

60_通过结构体生成json

标签:str   16px   json   pac   字符串类   price   sha   打印   people   

原文地址:https://www.cnblogs.com/zhaopp/p/11625966.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!