2016-03-22 5 views
-2
var data = map[string]interface{}{ 
    "json_received": [ 
     { 
     "ezpOrderId": "ezp_123", 
     "firstName": "Vasanth", 
     "lastName": "K", 
     "orderDesc": "Sample" 
     } 
    ] 
    "created_on": "03-22-2015", 
    "status": "1" 
} 


result, err := r.Table("order_json").Insert(data).RunWrite(session) 

Wenn ich versucht habe, dieses Programm auszuführen, bekam ich den Fehler als "fehlender Operand" nach "json_received": [line.Gorethink Insert Ausgabe

Bitte helfen Sie mir die Datenvariable in umdenken db über gehen einfügen Programmierung ..

+0

Jeder Eintrag auf der Karte mit Komma einschließlich des letzten enden sollte. \t \t Was ist "json_received"? Ist es eine Schnur? Wenn ja, brauchen Sie Zitate, die es umgeben. –

Antwort

0

Sie Komma nach json_received Array

"json_received": [ 
     { 
     "ezpOrderId": "ezp_123", 
     "firstName": "Vasanth", 
     "lastName": "K", 
     "orderDesc": "Sample" 
     } 
    ] , //<-- 
+0

Ich habe das Komma hinzugefügt, sogar ich habe den gleichen Fehler. –

2

Go json Literale nicht unterstützt fehlen, wie Sie versuchen zu tun .

Hier ist eine feste Version (on Play).

Beachten Sie, dass Sie für alle Unterstrukturen den Typ beim Erstellen deklarieren müssen. Sie haben versucht, json_recieved zu einer Liste von json-Objekten zu machen, also habe ich []map[string]interface{} verwendet.

Und wie andere darauf hingewiesen haben, müssen mehrzeilige map/list Literale ein Komma nach jeder Zeile haben, wie in: orderDesc, status.

Paket Haupt

import "fmt" 

func main() { 
    var data = map[string]interface{}{ 
     "json_received": []map[string]interface{}{ 
      { 
       "ezpOrderId": "ezp_123", 
       "firstName": "Vasanth", 
       "lastName": "K", 
       "orderDesc": "Sample", 
      }, 
     }, 
     "created_on": "03-22-2015", 
     "status":  "1", 
    } 

    fmt.Printf("%#v\n", data) 
    //result, err := r.Table("order_json").Insert(data).RunWrite(session) 
}