婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 利用Golang解析json數(shù)據(jù)的方法示例

利用Golang解析json數(shù)據(jù)的方法示例

熱門標簽:百度地圖標注搜索關(guān)鍵詞 騰訊外呼系統(tǒng)價格 電銷機器人可以補救房產(chǎn)中介嗎 ?兓? 成都呼叫中心外呼系統(tǒng)平臺 最短的地圖標注 谷歌便利店地圖標注 浙江人工智能外呼管理系統(tǒng) 電梯外呼訪客系統(tǒng)

本文主要給大家介紹的是關(guān)于Golang解析json數(shù)據(jù)的相關(guān)內(nèi)容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹:

使用 Golang 解析 json 數(shù)據(jù),這種 json 格式是對象的數(shù)組,官方文檔有一個示例:

var jsonBlob = []byte(`[ 
 {"Name": "Platypus", "Order": "Monotremata"}, 
 {"Name": "Quoll", "Order": "Dasyuromorphia"} 
]`) 
type Animal struct { 
 Name string 
 Order string 
} 
var animals []Animal 
err := json.Unmarshal(jsonBlob, animals) 
if err != nil { 
 fmt.Println("error:", err) 
} 
fmt.Printf("%+v", animals)

它可以把 json 數(shù)據(jù)的對象解析到對應(yīng)的結(jié)構(gòu)體中。

如果是一維數(shù)組,帶鍵值對的形式,如:{“A”:3,”B”:3,”C”:5,”D”:5},代碼如下:

func main() {
 jsonData := []byte(`{"A":3,"B":3,"C":5,"D":5}`)
 var a map[string]int
 json.Unmarshal(jsonData, a)
 fmt.Printf("%+v\n", a)
}

可見鍵值對形式的 json 可以映射到 map 中,或者 interface{} .

如果是只有值的形式,如:[“a”,”b”,”c”,”d”,”e”],代碼如下:

func main() {
 jsonData := []byte(`["a","b","c","d","e"]`)
 var a []string
 json.Unmarshal(jsonData, a)
 fmt.Printf("%+v\n", a)
}

可見只有值的形式可以映射到一個 slice 中。

關(guān)于 json 數(shù)據(jù)解析對于類型,在函數(shù)注釋中都已有說明:

To unmarshal JSON into an interface value,Unmarshal stores one of these in the interface value:
bool, for JSON booleans
float64, for JSON numbers
string, for JSON strings
[]interface{}, for JSON arrays
map[string]interface{}, for JSON objects
nil for JSON null

模擬 PHP 的 json_decode($jsonString, true) 函數(shù)

但是,看這種情況,在 PHP 中,如果用 json_decode(‘[“a”,”b”,”c”,”d”,”e”]', true) 這種第二個參數(shù)是 true 的解析 json,可以解析為帶鍵值對的對象的形式:

[
 0=>"a",
 1=>"b",
 2=>"c",
 3=>"d",
 4=>"e"
]

這種 Golang 怎么做到呢?

func main() {
 jsonData := []byte(`["a","b","c","d","e"]`)
 var a []string
 json.Unmarshal(jsonData, a)
 
 newData := make(map[int]string)
 for k, v := range a {
 newData[k] = v
 }
 
 fmt.Printf("%+v\n", newData)
}

應(yīng)該沒有內(nèi)置函數(shù),那就這樣手動實現(xiàn)吧。

總結(jié)

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

您可能感興趣的文章:
  • golang使用json格式實現(xiàn)增刪查改的實現(xiàn)示例
  • golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法
  • golang結(jié)構(gòu)體與json格式串實例代碼
  • golang如何修改json文件內(nèi)容的方法示例
  • Golang JSON的進階用法實例講解
  • golang如何自定義json序列化應(yīng)用詳解
  • golang json性能分析詳解
  • golang中json反序列化可能遇到的問題
  • Golang map如何生成有序的json數(shù)據(jù)詳解
  • Golang中使用JSON的一些小技巧分享
  • golang實現(xiàn)sql結(jié)果集以json格式輸出的方法
  • Golang 如何解析和生成json

標簽:瀘州 滄州 泰安 晉中 東營 昭通 駐馬店 阿壩

巨人網(wǎng)絡(luò)通訊聲明:本文標題《利用Golang解析json數(shù)據(jù)的方法示例》,本文關(guān)鍵詞  利用,Golang,解析,json,數(shù)據(jù),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《利用Golang解析json數(shù)據(jù)的方法示例》相關(guān)的同類信息!
  • 本頁收集關(guān)于利用Golang解析json數(shù)據(jù)的方法示例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 广宁县| 招远市| 社旗县| 丹棱县| 桂平市| 乐安县| 加查县| 滕州市| 铁岭县| 宁海县| 景东| 道孚县| 五家渠市| 武邑县| 奎屯市| 济阳县| 什邡市| 普兰店市| 饶河县| 三都| 云林县| 莱西市| 麻栗坡县| 西安市| 威宁| 宝坻区| 尼木县| 宝鸡市| 开江县| 石渠县| 杭州市| 新和县| 霸州市| 肥乡县| 台北县| 新乡县| 舟山市| 沿河| 吕梁市| 景洪市| 楚雄市|