首頁 > 後端開發 > Golang > 如何在 Go 中使用動態頂層鍵解析 JSON?

如何在 Go 中使用動態頂層鍵解析 JSON?

Patricia Arquette
發布: 2024-12-30 22:49:14
原創
862 人瀏覽過

How to Parse JSON with Dynamic Top-Level Keys in Go?

Golang 中使用動態鍵進行 JSON 解析

在 Golang 中,使用動態頂級鍵解析 JSON 字串可能具有挑戰性。考慮以下 JSON:

{"bvu62fu6dq": {
    "name": "john",
    "age": 23,
    .....
    .....}
登入後複製

要提取「姓名」和「年齡」的值,需要自訂解決方案,因為頂層鍵不是固定欄位。

使用 Go 結構體和映射

最佳方法是定義一個結構體來表示內部對象,並定義一個映射來表示動態頂級鍵。此結構應包含所需屬性的字段,例如:

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中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板