訪問地圖數據所以我有JSON的下面一點,我想拉出下的「令牌」的「$ T」的價值。繼續執行代碼...golang:內迅速地圖
{
"@encoding": "iso-8859-1",
"@version": "1.0",
"service": {
"auth": {
"expiresString": {
"$t": "2013-06-12T01:15:28Z"
},
"token": {
"$t": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
"expires": {
"$t": "1370999728"
},
"key": {
"$t": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
}
}
我有下面的代碼片段,將json解組成一個接口。然後我按照「標記」的「$ t」值工作。這種方法確實有效,但它很醜陋。
我的問題:有沒有比通過將每個地圖轉換爲接口更快的方式來訪問該值?我對Go非常陌生,並沒有意識到接口和地圖的許多有用功能。
var f interface{}
jerr := json.Unmarshal(body, &f)
m := f.(map[string]interface{})
ser := m["service"].(map[string]interface{})
a := ser["auth"].(map[string]interface{})
tok := a["token"].(map[string]interface{})
token := tok["$t"]
fmt.Fprintf(w, "Token: %v\n", token)
在此先感謝!
很不錯。感謝包含這兩個版本。 – turnerd18
不客氣。 –