So entmarshalieren Sie JSON mit unbekannten Feldern und Schlüsseln

WBOY
Freigeben: 2024-02-06 10:33:11
nach vorne
702 Leute haben es durchsucht

如何使用未知字段和键解组 json

Frageninhalt

Vom Frontend habe ich dieses JSON-Beispiel erhalten:

{
  "properties":{"unknown key": "unknown value","unknown key2": "unknown value 2"}
}
Nach dem Login kopieren

Ich habe angefangen, es mit map[string]interface{} zu analysieren, aber es funktioniert nicht. Ich weiß auch nicht, wie viel ich in diesem Bereich gewinnen kann. Kann 10 oder 1 sein.

Code:

type test struct {
    p map[string]string `json:"properties"`
}

func main() {
    var t test

    body := `
    {
        "properties":{"unknown key": "unknown value","unknown key2": "unknown value 2"}
    }
    `

    json.Unmarshal([]byte(body), &t)

    fmt.Println(t.p)
}
Nach dem Login kopieren

Dieser Code gibt immer eine leere Karte zurück.


Richtige Antwort


Sie sollten die Strukturfelder exportieren, die nicht gemarshallt werden sollen, zum Beispiel:

type test struct {
    P map[string]string `json:"properties"`
}
Nach dem Login kopieren

Siehe https://www.php.cn/link/eaf76caaba574ebf8e825f321c14ba29

Das obige ist der detaillierte Inhalt vonSo entmarshalieren Sie JSON mit unbekannten Feldern und Schlüsseln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage