提取json对象的一部分时出现json解析错误

Clé*_*ine 1 postgresql json node.js backbone.js

我正在尝试使用 node.js 将 json 对象插入到 postgres 数据库中名为 json 类型的数据的列中。

我从客户端(主干)收到的数据采用以下格式:

{id: someid, questions: [{some question data}, {some more question data}]}
Run Code Online (Sandbox Code Playgroud)

如果我插入整个数据(req.body),它工作正常。故事结局。

但是,就我而言,我只想插入问题数组(req.body.questions)。

但这是行不通的。当我解析 req.body.questions 时,我得到 false 返回(不是 json)。

但是,如果我手动将获得的数据插入到 postgres 中,它就会起作用。这是供参考的数据示例:

[ { completed: true,
        score: 1,
        answerList: [ '1' ],
        choicesNumber: 4,
        QuestionId: 6,
        startTime: '2016-01-19T22:09:47.090Z',
        clickNb: 1,
        endTime: '2016-01-19T22:09:51.491Z' },
      { completed: true,
        score: 1,
        answerList: [ '1' ],
        choicesNumber: 4,
        QuestionId: 5,
        startTime: '2016-01-19T22:09:52.209Z',
        clickNb: 1,
        endTime: '2016-01-19T22:09:53.713Z' }
    ]
Run Code Online (Sandbox Code Playgroud)

这是我收到的错误:

插入体验时出错 { [错误:json 类型的输入语法无效] 名称:'错误',长度:195,严重性:'错误',代码:'22P02',...

详细信息:'预期为“:”,但找到了“,”。',

...

其中:'JSON 数据,第 1 行:...b\":1,\"endTime\":\"2016-01-19T22:09:51.491Z\"}",...',

...

文件:'json.c',行:'1184',例程:'report_parse_error'}

我想我错过了一些非常明显的东西,但我在这个问题上撕裂了我的心!

ebl*_*ahm 5

pgClient.query('INSERT INTO my_table (my_json_column) VALUES ($1)', [JSON.stringify(myArrayObj)], cb)
Run Code Online (Sandbox Code Playgroud)