【问题标题】:cannot parse json (body) object in nodejs无法解析nodejs中的json(body)对象
【发布时间】:2017-04-07 14:19:39
【问题描述】:

我是Node.JS 的新手,任何人都可以帮助解决以下问题。

我正在调用REST API,它正在返回响应body 和JSON object。但我无法正确解析它。

我尝试body.destination_addresses[0] 检索值,但不起作用。

这是我的代码示例

 var parsedjson=JSON.parse(body);
 body.destination_addresses[0];

通过解析,我能够检索到 body.destination_addresses[0] 的值,但未能检索到 "parsedjson.rows.elements[1].distance.text" 的值。

如何从JSON 检索距离值。

示例 json

body:
{
   "destination_addresses" : [
      "458-500 St Johns Pl, Brooklyn, NY 11238, USA",
      "395 4th Ave, Brooklyn, NY 11215, USA"
      ],
   "origin_addresses" : [ "127 Tech Pl, Brooklyn, NY 11201, USA" ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "2.3 mi",
                  "value" : 3624
               },
               "duration" : {
                  "text" : "15 mins",
                  "value" : 899
               },
               "status" : "OK"
            }
  ]
      }
   ],
   "status" : "OK"
}

【问题讨论】:

    标签: node.js


    【解决方案1】:

    您的元素数组只有一项,因此您无法在索引 1 处获取

    根据您的示例尝试此代码

    body.rows[0].elements[0].distance.text

    你需要清除你的基本 JavaScript 以及如何使用数组

    【讨论】:

    • 嗨,感谢您的回复。仍然没有运气,我尝试了 body.rows[i].elements[i].distance.text; (这里 i = 0 的值)。错误消息:“TypeError:无法读取未定义的属性'元素'”。你有什么想法。[仅供参考,在我的回答中,我在元素数组中有超过 10 个值,这就是为什么在我的问题中提到元素 [1]]。
    • 这应该适用于你的情况,你做错了交叉检查你的代码,你可以发布你的所有回复来帮助
    • 是的,你是正确的,我在增量“i”值时犯了错误,并在行中引用它。再次感谢..
    猜你喜欢
    • 1970-01-01
    • 2015-01-25
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多