分配给变量后,JSON值难以理解

时间:2018-05-08 08:06:34

标签: javascript json angular parsing

上下文:Angular 5 app,NodeJS(带Nest)后端,MongoDB(Mongoose)

  • 当我Handsontable.dom.addEvent(Replace, 'click', function() { // Replace the value of every cell that have been match by the search query for (row = 0, r_len = queryResult.length; row < r_len; row++) { hot.setDataAtCell(queryResult[row].row, queryResult[row].col, replace); } // Reset all the fields SearchField=""; ReplaceField=""; queryResult=""; document.getElementById('Search').value=''; document.getElementById('ReplaceWith').value=''; }); 服务器的响应时,它看起来很好
  • 当我为变量分配这个相同的响应,然后console.log变量,我得到console.log而不是"lang":undefined。 这让我大吃一惊。

    "lang":"cn"

为变量分配this.http .post(route, payload) .subscribe(res => { // logs '...."lang":"cn"....' (correct) console.log(`res._body = `, res["_body"]) // logs { ... "lang":"cn" ... } (correct) console.log(`JSON.parse = `, JSON.parse(res["_body"])) // logs { ... "lang":"cn" ... } (correct) console.log(`res.json = `, res.json()) let response = res.json() // Logs { ... "lang": undefined ... } (WTF?) console.log(`response = `, response) }) 后,为什么lang未定义? 它与res.json()完全相同。

这里有更多日志:(我删除了我认为是JSON数据中不相关的部分)

JSON.parse()

0 个答案:

没有答案