go中對json資料的解析和封裝

2021-09-29 19:20:26 字數 1886 閱讀 7491

說起對json資料的操作,無非就兩種,封裝和解析

一.解析

已知的資料格式,直接解析到結構體

type person struct

type school struct

func

main()

}`if eir:=json.

unmarshal([

]byte

(str)

,&p)

;eir!=

nilelse

}輸出:

}

未知的資料結構,解析到map

type person struct

type school struct

func

main()

) str:=

`}`if eir:=json.

unmarshal([

]byte

(str)

,&da)

;eir!=

nilelse}}

輸出:name ***

age 12

school map

[class:

1 grade:

9]

3.未知的資料結構,利用******json解析

type person struct

type school struct

func

main()

}`if js, eir:= ******json.

newjson([

]byte

(str)

);eir!=

nilelseif_

, ok := js.

checkget

("age"

);okif_

, ok := js.

checkget

("school"

);ok

fmt.

println

(student)}}

結果:}

來個稍微複雜一點的(陣列)

type person struct

type school struct

func

main()

},}]}`

if js, eir := ******json.

newjson([

]byte

(str)

); eir !=

nilelse}}

結果:name=***,age=

12,grade=

9,class=

1name=***,age=

12,grade=

9,class=

1

4.未知的資料結構,利用gjson解析

type person struct

type school struct

func

main()

},}]}`

if!gjson.

valid

(str)

for_

, v :=

range gjson.

get(str,

`data`).

array()

fmt.

println

(stus)

}結果:[}

}]

二.封裝

type person struct

type school struct

func

main()

結果:[},

}]

cJSON對json資料的解析

目標 對下面這種結構的json資料解析 處理步驟 1.將json資料儲存在a.txt內 2.用fopen對資料檔案進行讀取 3.將讀取出的資料流寫入到乙個字串陣列中 4.用cjson parse將字串陣列轉換為json資料物件root 5.對root由外層向內層解析 如下 include inclu...

go解析獲取web頁面json資料

這裡以nginx檢測頁面資料為例 1 參照json格式定義結構體,根據實際json資料格式來定義 type tmp struct type temp struct type ses struct type nginx struct2 處理資料,這裡以獲取nginx檢測頁面的upstream和name...

Swift中的JSON資料解析

平時寫小專案時請求json格式的資料,怎麼解析向來是乙個大問題,尤其碰到巢狀型的資料,更是不知道怎麼寫 才好,所以寫一篇教程來記錄一下。剛好好久也沒寫部落格了,趕快寫一篇來刷刷存在感 json是乙個以文字為主 輕量型,並且容易使用來儲存以及交換資料的方式。它通常用來呈現結構性的資料,許多我每天使用的...