我正在盡我所能將一些json數據解組成可用的形式,但似乎無法獲得它。這些數據是:使用Go訪問嵌套數組和對象中的數據
{
"series": [
{
"series_id": "PET.EMD_EPD2D_PTE_NUS_DPG.W",
"name": "U.S. No 2 Diesel Retail Prices, Weekly",
"units": "Dollars per Gallon",
"updated": "2013-09-27T07:21:57-0400",
"data": [
[
"20130923",
"3.949"
],
[
"20130916",
"3.974"
]
]
}
]
}
我試圖讓陣列data
下到一個變量,這樣我就可以通過他們循環,這樣做:
if data[i][0] == "20130923" {
fuelPrice.Price == data[i][1]
}
我試着來解讀數據到一個結構,但我無法弄清楚如何通過series
......即我不知道如何做嵌套數組。像這樣的事情不工作:
type Series struct {
SeriesId string
Name string
Data [][]string
}
type RawFuelPrice struct {
Series []Series
Data []interface{}[]
}
另外,如果我解組爲interface{}
,我無法弄清楚如何訪問數據...
我絕對是一個初學者。感謝您的時間和精力。
見例如http://stackoverflow.com/questions/19145202/marshal-of-json-rawmessage http://stackoverflow.com/questions/19088799/go-xml-parsing-doesnt-see-any-fields http:// stackoverflow。 com/questions/19081479/xml-decoding-in-go http://stackoverflow.com/questions/18806325/json-decoder-gives-unexpected-results以及http://golang.org/pkg/encoding/json /#pkg-examples。 XML和JSON解碼工作非常相似,只需使用'json:「xyz」'作爲結構標記。 – Volker
@Volker,抱歉,我只是無法弄清楚這一點。我已經試過這樣:'型EIASeries [] {結構 \t SeriesId字符串'JSON: 「series_id」' \t數據接口{}'JSON: 「數據」' } 型EIAResponse結構{ \t系列EIASeries' json:「series」' }'當我登錄var resp EIAResponse時,我得到了很多數據,但是當我登錄resp.Series或log resp.Series.Data時,我什麼也得不到。謝謝。 –
也許http://play.golang.org/p/CZFFWMIdoG是你想要的。 – Volker