Ich habe folgende json:Json Decodier-/unmarshal in golang
{"results":
[{"columns":["room_id","player_name","player_ip"],
"types":["integer","text","text"],
"values":[[1,"alice","127.0.0.1"]
[1,"bob","127.0.0.1"]],
"time":0.00018839100000000002}]}
die Werte eine beliebige Anzahl von Elementen haben können in sie [].
type queryResults struct {
Results []struct {
Columns []string `json:"columns"`
Types []string `json:"types"`
Values []struct {
Room_id int
Player_name string
Player_ip string
} `json:"values"`
Time float64 `json:"time"`
} `json:"results"`
}
Code::
//jsonString is the string input to Unmarshal
resultjson := queryResults{}
json.Unmarshal([]byte(jsonString), &resultjson)
fmt.Printf("%+v",resultjson)
Stromausgang:
{Results:
[{Columns:[room_id player_name player_ip]
Types:[integer text text]
Values:[{room_id:0 player_name: player_ip:}
{room_id:0 player_name: player_ip:}]
Time:0.00018839100000000002}]}
Wenn ich versuche, die json in eine Struktur zu entpacken, wird die "Werte" Tag nicht richtig
Struktur analysiert erhalten
Erwartete Ausgabe:
{Results:
[{Columns:[room_id player_name player_ip]
Types:[integer text text]
Values:[{room_id:1 player_name:alice player_ip:127.0.0.1}
{room_id:1 player_name:bob player_ip:127.0.0.1}]
Time:0.00018839100000000002}]}
Exportfelder. 'json.Unmarshal' setzt nur exportierte Felder. 'struct { RoomId int PlayerName Zeichenfolge PlayerIp Zeichenfolge }' –
@AH Ich versuchte es gerade jetzt, aber die gleiche Ausgabe. Bearbeiten Sie auch die Frage – Karan
bemerkte nicht, dass Sie mit einem Array arbeiten. Eine Antwort hinzugefügt. –