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

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

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

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

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

使用 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ù),那就這樣手動實(shí)現(xiàn)吧。

總結(jié)

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

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

標(biāo)簽:瀘州 滄州 泰安 晉中 東營 昭通 駐馬店 阿壩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《利用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)民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿勒泰市| 宁陕县| 德令哈市| 常山县| 尉犁县| 巨鹿县| 西峡县| 衡南县| 始兴县| 京山县| 梧州市| 玉溪市| 库车县| 中山市| 鄂托克前旗| 伊宁县| 中西区| 武陟县| 吴桥县| 修武县| 台南市| 江油市| 诸城市| 南充市| 城市| 怀柔区| 蚌埠市| 大足县| 定州市| 南和县| 澄江县| 简阳市| 铁岭市| 临海市| 航空| 伊宁县| 滦平县| 惠东县| 炉霍县| 萝北县| 百色市|