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"},