Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 对express API的XML响应_Json_Node.js_Xml_Express - Fatal编程技术网

Json 对express API的XML响应

Json 对express API的XML响应,json,node.js,xml,express,Json,Node.js,Xml,Express,我有一个NodeJS程序,它使用express框架。发生的情况是,使用Postman向我的API发出POST请求,我根据需要处理请求(这非常有效) 但是,我希望将XML响应发送回API调用。在网上进行一些挖掘,我发现了这个图书馆- 我试图使其适应我的代码,因此我需要将以下json对象转换为XML响应: var responseJson = [{ "methodResponse": { "params": { "param": { "va

我有一个NodeJS程序,它使用express框架。发生的情况是,使用Postman向我的API发出POST请求,我根据需要处理请求(这非常有效)

但是,我希望将XML响应发送回API调用。在网上进行一些挖掘,我发现了这个图书馆-

我试图使其适应我的代码,因此我需要将以下json对象转换为XML响应:

var responseJson = [{
   "methodResponse": {
      "params": {
         "param": {
            "value": {
               "struct": {
                  "member": [
                     {
                        "name": "myValue",
                        "value": {
                           "string": "hi"
                        }
                     }
                  ]
               }
            }
         }
      }
   }
}];
然后在回答中,我做了以下几点:

        res.header('Content-Type', 'text/xml');
        res.send(xml(responseXml, true));
然而,这只会返回:

<methodResponse/>

邮递员的回复中没有其他内容


知道其余的发生了什么吗?为什么只返回一行?有更好的方法吗?谢谢

您需要在对象周围放置方括号

const data = [{
   "methodResponse": [{
      "params": [{
         "param": [{
            "value": [{
               "struct": [{
                  "member": [{
                      "name": "myValue",
                  },{
                      "value": [{
                         "string": "hi"
                      }]
                  }]
               }]
            }]
         }]
      }]
   }]
}];
这将产生:
myValuehi

哦。。。为什么需要方括号?更新了我的答案以修复成员对象。我不太熟悉xml,所以不是100%,但我猜元素不像json对象那样是唯一的。