Go kann nicht über meine var reichen (type interface {})

7

Ich bin gerade dabei, mich um Go zu kümmern. Im Moment simuliere ich eine API-Anfrage, die eine JSON-formatierte Zeichenfolge zurückgibt, die ein Array von Objekten enthält. Ich versuche herauszufinden, wie ich am besten über jeden Datensatz iterieren und auf jedes Feld zugreifen kann. Letztendlich wird jedes Feld in eine Excel-Tabelle geschrieben, aber im Moment möchte ich nur die Schlüssel & amp; Wert.

Hier ist, was ich habe (ich würde es im Go Playground bereitstellen, aber HTTP-Anfragen werden nicht unterstützt):

%Vor%

Alles funktioniert gut, bis die verschachtelte Schleife versucht, über das map , das die Eigenschaften jedes Datensatzes enthält, zu iterieren:

%Vor%

Ich habe zwei Fragen, denke ich:

  1. Ist die verschachtelte Schleife das effektivste / effizienteste Mittel, um auf jede Eigenschaft jedes Datensatzes zuzugreifen?
  2. Was muss ich tun, um diesen Fehler zu umgehen?

AKTUALISIEREN

Wenn ich die dekodierten Daten in die Variable view ablege, ist dies das protokollierte Ergebnis:

%Vor%     
Rob Wilkerson 04.08.2015, 17:50
quelle

1 Antwort

20

Die Standardwerte, nach denen das json-Paket dekodiert wird, wenn der Typ nicht deklariert wird, sind:

%Vor%

Da jedes record (in Ihrem Beispiel) ein json-Objekt ist, können Sie jedes als map[string]interface{} ähnlich wie:

angeben %Vor%     
JimB 04.08.2015, 18:07
quelle

Tags und Links