在 Golang 中,使用動態頂級鍵解析 JSON 字串可能具有挑戰性。考慮以下 JSON:
{"bvu62fu6dq": { "name": "john", "age": 23, ..... .....}
要提取「姓名」和「年齡」的值,需要自訂解決方案,因為頂層鍵不是固定欄位。
最佳方法是定義一個結構體來表示內部對象,並定義一個映射來表示動態頂級鍵。此結構應包含所需屬性的字段,例如:
type Person struct { Name string `json:"name"` Age int `json:"age"` }
映射又可以使用動態頂級鍵作為鍵,使用 Person 結構作為值。此結構允許高效存取所需值:
type Info map[string]Person
要將 JSON 解碼為自訂結構,請使用 json.Unmarshal 函數。解碼後,可以透過映射鍵存取這些值:
var info Info json.Unmarshal([]byte(j), &info) fmt.Printf("%s: %d\n", info["bvu62fu6dq"].Name, info["bvu62fu6dq"].Age)
這種方法提供了一種靈活且可擴展的方法來使用動態頂級鍵處理 JSON,確保輕鬆存取所需的屬性。
以上是如何在 Go 中使用動態頂層鍵解析 JSON?的詳細內容。更多資訊請關注PHP中文網其他相關文章!