繁体   English   中英

NodeJS object.keys错误

[英]NodeJS object.keys error

我的nodeJS脚本需要执行放置/发布操作以提供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],...,而不是正确的值。

我仍然可以只提供xml文件,并在使用时跳过整个功能

headers: {"content-type": "application/xml"} 

代替

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM