当前位置: 首页 > news >正文

永久免费的网站空间青岛网站建设方案托管

永久免费的网站空间,青岛网站建设方案托管,网站做动态图片,020网站开发多少钱关于 JSON 数据 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也 易于机器解析和生成。RESTfull Api 接口中返回的数据都是 json 数据。 Json 的基本格式如下#xff1a; { a: Hello, b: { a: Hello, b: World } 稍微复杂点的 JSON   结构体与 JSON 序列化 注意一个点结构体内的私有属性不能被json包访问如果结构体内部的属性都要就行转换需要全部为公有属性开头字符大写 比如我们 Golang 要给 App 或者小程序提供 Api 接口数据这个时候就需要涉及到结构体和 Json 之间的相互转换。 Golang JSON 序列化 是指把结构体数据转化成 JSON 格式的字符串 结构体 ---- JSON格式字符串 Golang JSON 的反序列化 是指把 JSON 数据转化成 Golang 中的结构体对象。 JSON格式字符串 ---- 结构体 Golang 中 的 序 列 化 和 反 序 列 化 主 要 通 过 encoding/json 包 中 的 json.Marshal() 和json.Unmarshal()方法实现 结构体对象转化成 Json 字符串 package mainimport (encoding/jsonfmt )type Person struct{Name stringGender stringAge int }func main() {var p1 Person{Name: 奥特曼,Gender: 男,Age: 17,}fmt.Printf(%#v\n,p1)jsonByte,_ : json.Marshal(p1)jsonStr : string(jsonByte)fmt.Printf(%#v, jsonStr)}错误案例如下 package mainimport (encoding/jsonfmt )type Person struct{Name stringGender stringage int }func main() {var p1 Person{Name: 奥特曼,Gender: 男,age: 17,}fmt.Printf(%#v\n,p1)jsonByte,_ : json.Marshal(p1)jsonStr : string(jsonByte)fmt.Printf(%#v, jsonStr)}Json 字符串转换成结构体对象 返回一个err 如果err为空转换成功 err非空转换失败 package mainimport (encoding/jsonfmt )type Person struct{Name stringGender stringage int }func main() {var str {Name:奥特曼,Gender:男,Age:17}var p2 Personerr : json.Unmarshal([]byte(str), p2)if err ! nil { fmt.Println(err)}fmt.Printf(%#v\n, p2)fmt.Println(p2.Name)}结构体标签 Tag Tag 是结构体的元信息可以在运行的时候通过反射的机制读取出来。 Tag 在结构体字段的后方定义由一对反引号包裹起来具体的格式如下 key1:value1 key2:value2 结构体 tag 由一个或多个键值对组成。键与值使用冒号分隔值用双引号括起来。 同一个结构体字段可以设置多个键值对 tag不同的键值对之间使用空格分隔。 注意事项 为结构体编写 Tag 时必须严格遵守键值对的规则。 结构体标签的解析代码的容错能力很差一旦格式写错编译和运行时都不会提示任何错误通过反射也无法正确取值。 例如不要在 key 和 value 之间添加空格。 通过指定 tag 实现 json 序列化该字段时的 key 嵌套结构体和 JSON 序列化反序列化  package mainimport (encoding/jsonfmt ) type Person struct{Name string json:nameGender string json:genderAge int json:age }type Group struct{Intrasting stringPerson []Person } func main() {h : Group{Intrasting: 绘画,Person: make([]Person, 0),}for i : 17; i 20; i {p : Person{Name :fmt.Sprintf(编号%v, i), //字符串类型Gender:男,Age : i1,}h.Person append(h.Person, p) //将P里的东西添加到实例化的h后的切片内}// fmt.Println(c)strByte, err : json.Marshal(h)if err ! nil {fmt.Println(err)} else {strJson : string(strByte)fmt.Println(strJson)} }逆序退回 package mainimport (encoding/jsonfmt )type Person struct{Name string json:nameGender string json:genderAge int json:age }type Group struct{Intrasting stringPerson []Person }func main() {jsonStr : {Intrasting:绘画,Person:[{name:编号17,gender:男,age:18},{name:编号18,gender:男,age:19},{name:编号19,gender:男,age:20}]}var h Group{}err : json.Unmarshal([]byte(jsonStr), h)if err ! nil {fmt.Println(err)} else {fmt.Printf(%#v\n, h)fmt.Printf(%v, h.Intrasting)} }
http://www.tj-hxxt.cn/news/142995.html

相关文章:

  • 规范 加强网站建设管理吕梁建设机械网站
  • 北苑做网站的公司hr系统管理软件排名
  • 阿里巴巴网站推广怎么做wordpress怎么修改主题
  • 河北省住房城乡建设厅网站首页安装不上wordpress
  • 网站建设一般涉及后台功能信誉好的唐山网站建设
  • 地狱少女通信网站怎么做建设网站小常识
  • 建设网站视频素材湛江网站开发公司
  • 室内设计网站排行榜前十名知乎上海公司网页设计
  • 做酒类网站关键词的选取原则有
  • 广州网站营销推广公司画册设计
  • 网站html下载器wordpress友链顺序
  • 陕西城乡建设局网站app推广公司怎么对接业务
  • 桂林人论坛新鲜事爆料seo网站模板下载
  • 郑州做网站优化地址seo臻系统
  • 镇江网站公司去菲律宾做网站
  • 站酷网怎么接单赚钱网站图片上传不了是什么原因
  • 企业网站建设 新天地网络页面模板功能
  • 网站设计建设公司wordpress最新版本下载
  • 分销网站建设网易云课堂的网站建设特点
  • asp网站如何做伪静态河南省工程建设信息网一体化平台
  • 自己建立网站后怎么做淘客免费推广的方式
  • 外包网络推广公司怎么选长沙百家号seo
  • 临夏网站制作百度seo发包工具
  • 网站逻辑结构优化是指seo优化关键词
  • 域名抢注网站企业网页建设公司联系电话
  • 临海房产中介网站如何制作网站建设 制作公司
  • 张家港 网站制作网站建设流程包括哪些环节
  • 做t恤网站 一件也可以做网站建设项目可行性分析
  • 网站开发教育类网站广告js代码添加
  • 电商网站建设策划书小制作 简单 步骤