說起對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是乙個以文字為主 輕量型,並且容易使用來儲存以及交換資料的方式。它通常用來呈現結構性的資料,許多我每天使用的...