首页 > 解决方案 > 在 NodeJS 中检索 POST 的响应

问题描述

我收到来自服务的以下响应

[ { recipient_id: 'default',
    text: 'Hello, how can I help?' } ]

我需要检索text响应的部分。我可以用下面的python做到这一点

json_response = response.json()
reply = json_response[0]['text']

但是我text现在需要为另一个项目检索 NodeJS 中的部分。所以我尝试了下面的代码,但它输出undefined

var obj = JSON.parse(response)
console.log(obj[0]['text'])

有人可以建议吗?

编辑:

POST 请求是这样的

request.post(
                  'http://path-to-service',
                  { json: { 'query': msg} },
                  function (error, response, body) {
                      if (!error && response.statusCode == 200) {
                          console.log(body)
                          var obj = JSON.parse(body)
                          console.log(obj[0]['text'])

                      }

问题是服务将响应作为 python 字典数组返回。所以response[0]本质上是一个python字典

{ recipient_id: 'default',
  text: 'Hello, how can I help?' } 

所以问题是,我如何text从这个字典中检索键的值。

标签: jsonnode.js

解决方案


我认为您的响应已经作为JSON对象出现,因此不需要再次解析。

var obj =  [ { recipient_id: 'default',
    text: 'Hello, how can I help?' } ];
    
 console.log(obj[0].text);   


推荐阅读