NodeJS object.keys错误

时间:2014-08-14 08:13:14

标签: javascript node.js

我的nodeJS脚本需要进行put / post操作以提供xml文件作为有效负载。

然而,它仍然在这里说:

     Object.keys(data).forEach(function(key) {
            ^
TypeError: Object.keys called on non-object
    at Function.keys (native)
    at Object.exports.getBodyString

将数据打印到stdout为我提供了文本中的整个xml文件。 数据类型是字符串。

    exports.getBodyString = function(data) {  var body = '';

 if(data && !this.isEmpty(data)){
     Object.keys(data).forEach(function(key) {
      var val = data[key];
      if (exports.isArray(val)) {
       for (var i=0; i<val.length; i++) {
        body += key + '[]=' + encodeURIComponent(val[i]) + '&';
       }
      } else {
       body += key + '=' + encodeURIComponent(val) + '&';
      }
     });
     return body;  }  return null; };

我尝试重新创建的是:

curl -X POST -H "Content-Type: application/xml" -d @config.xml "http://localhost:11000/oozie/v1/jobs?action=start"

结束 如何正确解析一段时间的xml文件(缩进和新行以及所有内容)到正确的JSON?我正在与xml2js斗争。这似乎返回[Object],[Object],...而不是正确的值。

1 个答案:

答案 0 :(得分:0)

我仍然可以在使用

时传递xml文件并跳过整个功能
headers: {"content-type": "application/xml"} 

而不是

headers: {"content-type": "application/x-www-form-urlencoded"},