json - 在 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
从这个字典中检索键的值。
解决方案
我认为您的响应已经作为JSON
对象出现,因此不需要再次解析。
var obj = [ { recipient_id: 'default',
text: 'Hello, how can I help?' } ];
console.log(obj[0].text);
推荐阅读
- vue.js - VueJs Watch 每个模型的键
- sql - 将 Postgre 转换为 Bigquery
- spring-boot - spring boot:连接oracle数据库
- amazon-web-services - 在 null 中定义的 bean 'AmazonEc2InstanceDataPropertySourcePostProcessor' 无法注册
- angular - 特定服务中的标头问题
- sql - postgres Like 单字列的查询性能
- excel - 如何使用 listrow 将一个 tablerow 复制到另一个 table?
- sql - 限制 PostgreSQL 客户端的查询时间
- php - 循环内的 Natsort
- http - Golang 等价于 java servlet 过滤器