代码之家  ›  专栏  ›  技术社区  ›  nad

在nodejs中检索post的响应

  •  0
  • nad  · 技术社区  · 6 年前

    我收到一个服务部门的以下回复

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

    我需要找回 text 部分回应。我可以用下面这样的python

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

    但我需要找回 文本 nodejs中的一部分现在用于另一个项目。所以我尝试了下面的代码,但是它输出了 undefined

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

    有人能推荐一下吗?

    编辑:

    发帖要求是这样的

    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?' } 
    

    所以问题是,如何检索密钥的值 文本 从这本字典里。

    2 回复  |  直到 6 年前
        1
  •  1
  •   Nishant Dixit    6 年前

    我想你的反应已经是 JSON 对象,因此不需要再次解析。

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

    try代码

    var body = {'query': 'msg', 'name': 'my name is nodejs'}
    var obj = JSON.parse(body);
    console.log(obj.query);
    console.log(obj.name);
    

    打印

    msg
    my name is nodejs