NodeJS object.keys错误

我的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 

打印数据到标准输出给我在文本中的整个XML文件。 数据的types是string。

  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; }; 

我试图重新创build的是:

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

总结如何正确parsing一段时间的XML文件(缩进和新行和一切)适当的JSON? 我正在努力与xml2js。 这似乎返回[对象],[对象],而不是适当的值。

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

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

代替

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