第4 行,调用 genJsonData() 函数,获得 []byte 类型的 JSON 数据。 第6 行,将 jsonData 的 []byte 类型的 JSON 数据转换为字符串格式并打印输出。 第9 行,构造匿名结构体,填充 Screen 结构和 HasTouchID 字段,第 12 行中的 {} 表示将结构体实例化。 第15 行,调用 json.Unmarshal,输入完整的 JSON ...
Go语言使用匿名结构体解析JSON数据 1 package main 2 3 import ( 4 "encoding/json" 5 "fmt" 6 ) 7 8 type Screen struct { 9 Size float32 //屏幕尺寸 10 ResX, ResY int //水平和垂直分辨率 11 } 12 13 type Battery struct { 14 Capacity int //电池容量 15 } 16 17 func getJsonData() ...
Go语言中的匿名结构体可以方便地完成这个操作。首先给出完整的代码,然后再讲解每个部分。package mainimport ( "encoding/json" "fmt" )// 定义手机屏幕 type Screen struct { Size float32 // 屏幕尺寸 ResX, ResY int // 屏幕水平和垂直分辨率 }// 定义电池 type Batt...
这个结构体内嵌了 Screen 和 Battery 结构体,同时临时加入了 HasTouchID 字段。 第10 行,为刚声明的匿名结构体填充屏幕数据。 第17 行,填充电池数据。 第22 行,填充指纹识别字段。 第26 行,使用 json.Marshal 进行 JSON 序列化,将 raw 变量序列化为 []byte 格式的 JSON 数据。 第4 行,调用 genJsonData(...
第15 行,调用 json.Unmarshal,输入完整的 JSON 数据(jsonData),将数据按第 9 行定义的结构体格式序列化到 screenAndTouch 中。 第18 行,打印输出 screenAndTouch 中的详细数据信息。 第21 行,构造匿名结构体,填充 Battery 结构和 HasTouchID 字段。