91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Go語言JSON解析器gjson如何使用

發布時間:2022-12-07 09:41:31 來源:億速云 閱讀:120 作者:iii 欄目:開發技術

今天小編給大家分享一下Go語言JSON解析器gjson如何使用的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

gjson

GJSON 是一個Go包,它提供了一種從json文檔中獲取值的快速簡單的方法。它具有單行檢索、點符號路徑、迭代和解析 json 行等功能。還可以查看SJSON以修改 json,以及JJ命令行工具。

安裝

安裝gjson,使用的是go傳統的安裝方法:

go install github.com/tidwall/gjson@latest

在文件的目錄下執行:

$ go get -u github.com/tidwall/gjson

這樣就在目錄下,可以使用gjson了。

使用

獲取相應的數值。

獲取指定路徑的搜索 json。路徑采用點語法,例如“name.last”或“age”。當找到該值時,它會立即返回。

package main
import "github.com/tidwall/gjson"
const json = `{"name":{"first":"Janet","last":"Prichard"},"age":47}`
func main() {
	value := gjson.Get(json, "name.last")
	println(value.String())
}

這將打印:

Prichard

這個跟我們使用的傳統的json解析還有一點區別,gjson不僅幫我們解析了json的數據,還幫我們建立了快速查找的通道。

路徑語法

路徑是由點分隔的一系列鍵。密鑰可能包含特殊的通配符“*”和“?”。要訪問數組值,請使用索引作為鍵。要獲取數組中的元素數量或訪問子路徑,請使用“#”字符。點和通配符可以用“\”轉義。

{
  "name": {"first": "Tom", "last": "Anderson"},
  "age":37,
  "children": ["Sara","Alex","Jack"],
  "fav.movie": "Deer Hunter",
  "friends": [
    {"first": "Dale", "last": "Murphy", "age": 44, "nets": ["ig", "fb", "tw"]},
    {"first": "Roger", "last": "Craig", "age": 68, "nets": ["fb", "tw"]},
    {"first": "Jane", "last": "Murphy", "age": 47, "nets": ["ig", "tw"]}
  ]
}

"name.last"          >> "Anderson"
"age"                >> 37
"children"           >> ["Sara","Alex","Jack"]
"children.#"         >> 3
"children.1"         >> "Alex"
"child*.2"           >> "Jack"
"c?ildren.0"         >> "Sara"
"fav\.movie"         >> "Deer Hunter"
"friends.#.first"    >> ["Dale","Roger","Jane"]
"friends.1.last"     >> "Craig"

您還可以使用 查詢數組中的第一個匹配項#(&hellip;),或使用 查找所有匹配項#(&hellip;)#。查詢支持==, !=, <, <=, >,>= 比較運算符和簡單的模式匹配%(like) 和!% (not like) 運算符。

friends.#(last=="Murphy").first    >> "Dale"
friends.#(last=="Murphy")#.first   >> ["Dale","Jane"]
friends.#(age>45)#.last            >> ["Craig","Murphy"]
friends.#(first%"D*").last         >> "Murphy"
friends.#(first!%"D*").last        >> "Craig"
friends.#(nets.#(=="fb"))#.first   >> ["Dale","Roger"]

這樣我們查找起來就非常方便了。

以上就是“Go語言JSON解析器gjson如何使用”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平和县| 永嘉县| 岑巩县| 岱山县| 常山县| 泸西县| 枣庄市| 顺义区| 福贡县| 蒙阴县| 阿城市| 孝义市| 通城县| 西乡县| 黄骅市| 盐源县| 民丰县| 肃南| 奎屯市| 原平市| 海淀区| 侯马市| 河西区| 霍城县| 石阡县| 永和县| 玉门市| 贺州市| 诸暨市| 普兰县| 遂川县| 综艺| 惠来县| 通化市| 红桥区| 盐源县| 蛟河市| 靖边县| 陈巴尔虎旗| 临邑县| 香格里拉县|