日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Go语言编程—Go语言中JSON的处理(map、struct 和 JSON字符串的相互转换)

發布時間:2025/3/15 javascript 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go语言编程—Go语言中JSON的处理(map、struct 和 JSON字符串的相互转换) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JSON的簡單介紹

JSON (JavaScript Object Notation)是一種比XML更輕量級的數據交換格式,在易于人們閱讀和編寫的同時,也易于程序解析和生成。盡管JSON是JavaScript的一個子集,但JSON采用完全獨立于編程語言的文本格式,且表現為鍵/值對集合的文本描述形式(類似一些編程語言中的字典結構),這使它成為較為理想的、跨平臺、跨語言的數據交換語言正是由于是鍵值對形式,那么很好的和Go語言中的struct 和 map對應

代碼示例

在下面代碼中struct->json,map->json,json->struct,json->map

package mainimport ("encoding/json""fmt" )type Student struct {Name string `json:"-"` //對應的json的可以也是大寫,可以指定json的二次編碼 ,-不會輸出到jsonAge int `json:"age,string"` //輸出為字符串Sex byte `json:"性別"` //會轉出數字!怎么轉出字符?Is boolLike []stringAddr string }//結構體->json func structToJson() {//轉換從json的字段必須首字母大寫stu := Student{"Laymond", 18, 'm', true, []string{"跑步", "爬山", "學習"}, "中國.重慶"}//json_byte, err := json.Marshal(stu)json_byte, err := json.MarshalIndent(stu, "", " ") //看上去更加格式化if err != nil {fmt.Println("json.Marshal error")return}fmt.Println(string(json_byte))}//map->json func mapToJson() {stu := make(map[string]interface{}, 6)stu["name"] = "Laymond"stu["age"] = 18stu["sex"] = 'm'stu["is"] = truestu["like"] = []string{"看書", "學習"}stu["addr"] = "中國.重慶"//json_byte, err := json.Marshal(stu)json_byte, err := json.MarshalIndent(stu, "", " ") //看上去更加格式化if err != nil {fmt.Println("json.Marshal error")return}//當然map是無序fmt.Println(string(json_byte)) }//json字符串->struct func jsonToStruct() {// 要結構體一一對應,尤其是json二次編碼格式str := `{"age": "18","性別": 109,"Is": true,"Like": ["跑步","爬山","學習"],"Addr": "中國.重慶"}`var stu Studentjson.Unmarshal([]byte(str), &stu)fmt.Println(stu) }//json字符串->map func jsonToMap() {str := `{"age": 18,"sex": 109,"Is": true,"like": ["跑步","爬山","學習"],"Addr": "中國.重慶"}`stu := make(map[string]interface{}, 10)json.Unmarshal([]byte(str), &stu)fmt.Println(stu)//可以用對應的value類型賦值嗎?不可以 接口類型不可以轉 其他類型,只能通過類型斷言var name interface{} = "Laymond"// var name_str string = string(name) //errorvar name_str string//斷言只能用在if 和 switch ,下面是指定類型斷言if data, ok := name.(string); ok == true {name_str = datafmt.Println(name_str)}var stu_str string//var a_int, b_int intfor key, value := range stu {switch data := value.(type) {//int和byte類型匹配不到 或許int 類型太多了,不好匹配?case int8:fmt.Printf("key = %v ,%v is int\n", key, data)case byte:fmt.Printf("key = %v ,%v is byte\n", key, data)case string:stu_str = datafmt.Printf("key = %v ,%v is string\n", key, data)case bool:fmt.Printf("key = %v ,%v is bool\n", key, data)case []interface{}:fmt.Printf("key = %v ,%v is interface\n", key, data)}}fmt.Println(stu_str) }func main() {fmt.Println("---------struct-> json---------")structToJson()fmt.Println("---------map-> json------------")mapToJson()fmt.Println("---------json -> struct-------")jsonToStruct()fmt.Println("---------json -> map----------")jsonToMap() }

運行結果

總結

以上是生活随笔為你收集整理的Go语言编程—Go语言中JSON的处理(map、struct 和 JSON字符串的相互转换)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性巴克成人免费网站 | 国产热热| 激情国产 | 成年人在线播放视频 | 色亚洲欧美 | 超碰99在线观看 | 中文字字幕在线中文乱码电影 | 久久不卡影院 | www天堂av| 欧美一区二区三区影视 | 日日骑 | 豆花av在线 | 88xx成人永久免费观看 | 日本一区视频在线 | 国产久视频| 一区二区三区高清在线 | 色婷婷一区二区三区四区 | 欧美日韩在线a | 国产伦精品一区 | 国内久久 | 中文字幕色网 | 91黄版| 久久久久人妻精品色欧美 | 人妻互换一二三区激情视频 | 成人三级晚上看 | 成人免费影视网站 | 日本三级在线视频 | 亚洲二区精品 | 美女又黄又免费的视频 | 国产偷亚洲偷欧美偷精品 | 国产精品一级片 | 黑人糟蹋人妻hd中文字幕 | 动漫美女被吸奶 | 一级国产视频 | 久久资源在线 | 亚洲国产精品成人无久久精品 | caoporen在线| 上原亚衣av一区二区三区 | 亚洲综合大片69999 | 亚洲视频在线免费播放 | 日韩激情第一页 | 爱操在线| 国产精品久久久久久久av | av一区二区三区四区 | 国产成人av电影 | 国产真实乱偷精品视频 | 国产又粗又大又黄 | 久久99草| 日韩精品――中文字幕 | 日日夜夜2017| 99久草| 亚洲24p| 日韩欧美在线精品 | 色女人影院 | 国产夫妻在线观看 | 黄色录像a级片 | 国产欧美精品久久 | 日韩一级色 | 亚洲精品视频观看 | 99riAv国产精品无码鲁大师 | 夏目彩春娇喘呻吟高潮迭起 | 九色自拍视频 | 国产猛男猛女超爽免费视频 | 日本午夜一区二区 | 国产精品天美传媒沈樵 | 天天干女人 | 阿拉伯性视频xxxx | 日本xxxxxwwwww| 91三级视频 | 视色网 | 爱上av| 中文字幕在线不卡 | 亚洲天堂男人av | 欧美999 | 97在线免费视频 | 国产一区二区四区 | 暖暖av| 亚洲精品9999 | 精品国产乱码久久久久久蜜臀网站 | 五级毛片 | 日韩毛片av| 在线观看jizz| 精品播放| 欧美一级片观看 | 欧日韩精品 | 影音先锋亚洲天堂 | 中文字幕一区二区人妻痴汉电车 | av不卡在线观看 | 免费日批网站 | 涩涩五月天| 国产精欧美一区二区三区蓝颜男同 | 欧美理伦| 少妇熟女视频一区二区三区 | 日本人妻换人妻毛片 | 伊人色影院 | 大陆日韩欧美 | 日本大胆裸体做爰视频 | 韩国黄色大片 | 伊人久久97|