国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Golang > 正文

Golang map如何生成有序的json數據詳解

2020-04-01 19:04:27
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于Golang map生成有序json數據的相關內容,分享出來供大家參考學習,下面來一起看看詳細的介紹:

先來看一段 Golang 生成 json 的代碼,首先定義了一個 map[string]interface{}  的變量,然后存一些值,這里要注意的是 previews 字段,為了瀏覽器獲取到的 json 數據是有序的,所以定義了一個 map[int]map[string]string 的類型,加上了一個表示順序的鍵:

list := make(map[string]interface{})list["id"] = detail["id"]list["game_name"] = detail["game_name"]list["game_logo"] = detail["game_m_logo"]gameTags, _ := utils.InterfaceToStr(detail["game_tags"])list["game_tags"] = strings.Split(gameTags, ",")list["game_desc"] = detail["game_long_desc"]list["play_total_times"] = 33333testImages := make(map[int]map[string]string)testImages[1] = map[string]string{"video": "xxx"}testImages[2] = map[string]string{"image": "yyy1"}testImages[3] = map[string]string{"image": "yyy2"}testImages[5] = map[string]string{"image": "yyy5"}testImages[4] = map[string]string{"image": "yyy3"}list["previews"] = testImages fmt.Println("test list:", list)

但實際上,對于 Golang 來說,previews 字段并非因此就變成是有序的,通過打印就可以知道了,但是瀏覽器會自動對帶有 int 型主鍵的 json 數據進行排序,從而實現了目的。

生成的 json 格式數據如下,按照 int 從小到大排列了:

{ "data": {  "game_desc": "從秀才一路前進,你最終能官居幾品? 為了完成父親的遺愿,你走上了這條漫漫升官路。 最終你會成為什么樣的人? ",  "game_logo": "http://image.egret.com/game/gameIcon/181/90681/icon_200.jpg?1472698847",  "game_name": "官居幾品",  "game_tags": [   "呵呵"  ],  "id": "3",  "play_total_times": 33333,  "previews": {   "1": {    "video": "xxx"   },   "2": {    "image": "yyy1"   },   "3": {    "image": "yyy2"   },   "4": {    "image": "yyy3"   },   "5": {    "image": "yyy5"   }  } }, "msg": "ok", "result": 0}

這樣的話有個缺點,本來可以輸出更為簡潔的數據結構,但因為 map 的無序不得不加一個主鍵,讓前端解析增加了麻煩。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者使用Go語言能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 江华| 阜宁县| 蕉岭县| 塔城市| 白玉县| 泰州市| 蓬莱市| 涿鹿县| 乌兰察布市| 扶余县| 乐都县| 永兴县| 霍州市| 洛隆县| 揭东县| 青河县| 抚松县| 华宁县| 阿拉善左旗| 白河县| 乌审旗| 墨竹工卡县| 应城市| 墨江| 泰兴市| 广德县| 荃湾区| 岑巩县| 青冈县| 梓潼县| 富平县| 岑巩县| 岳池县| 通州市| 宜丰县| 望江县| 芦山县| 金乡县| 临安市| 阳江市| 荔浦县|