php小編香蕉為你帶來了關於Golang在JSON集合回應中只取得一個物件的介紹。在處理JSON資料時,有時候我們只需要取得其中一個物件而不是整個集合,這時候可以採用一些簡單的方法來實作。本文將為你詳細介紹如何使用Golang來實現這項需求,讓你能夠更有彈性地處理JSON資料。無論你是初學者或有一定經驗的開發者,都能從本文中獲得實用的技巧和方法。讓我們一起來探索吧!
假設我有一個如下所示的 json 回應正文:
{ value: [{object a's key-values}, {object b's key-values}, {object c's key-values} ...] }
其中物件 a、b、c 具有不同的結構,儘管它們可能具有相同的鍵名稱。 (例如,obj a 和 b 都可以具有密鑰“b”,但只有 obj a 具有密鑰“a”)
我只對 json 回應中的物件 a 感興趣,其餘的可以丟棄。如果我有這樣的結構:
type MyObject struct{ a string b string } type MyData struct{ value []MyObject }
將回應解組到 mydata 是否有效?我們是否可以指定特定類型的切片,以便僅對具有正確結構的所需元素進行解組,而忽略 json 集合中的其餘物件?
首先:您需要匯出結構成員:
type myobject struct{ a string `json:"a"` b string `json:"b"` } type mydata struct{ value []myobject `json:"value"` }
然後,您可以使用以下方法解組數組:
var v mydata json.unmarshal(input,&v)
這將為輸入中的每個陣列元素建立一個 myobject
實例,但只有那些具有 a
和 b
欄位的元素才會被填入。因此,您可以過濾包含 a
的:
for _,x:=range v.Values { if x.A!="" { /// } }
以上是Golang:在 JSON 集合回應中僅取得一個對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!