Gorethink插入问题

时间:2016-03-22 09:31:26

标签: go rethinkdb

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)

当我试图运行这个程序时,我收到了错误,因为"缺少操作数"在" json_received"之后:[line。

请帮我通过编程来重新插入db中的数据变量..

2 个答案:

答案 0 :(得分:2)

Go不像你想要的那样支持json文字。

这是一个固定版本(on Play)。

请注意,对于所有子结构,必须在创建时声明类型。 您试图使json_recieved成为json对象的列表,因此我使用了[]map[string]interface{}

而且,正如其他人所指出的,多行地图/列表文字必须在每行后面都有逗号,如:orderDescstatus

package main

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)
}

答案 1 :(得分:0)

json_received数组

后你缺少逗号
"json_received": [
        {
        "ezpOrderId":  "ezp_123",
        "firstName":  "Vasanth",
        "lastName":  "K",
        "orderDesc":  "Sample"
        }
    ] , //<--