Node.js&;camaro-影响xml到json的转换顺序

Node.js&;camaro-影响xml到json的转换顺序,node.js,xml,csv,Node.js,Xml,Csv,Node.js和camaro-影响xml到json的转换顺序 我使用node.js、camaro和json2csv解析xml文件并将其转换为csv。这一切似乎都起作用了。。。除了我得到了定义的不同输出顺序。我定义了要获取的元素的模板。。。我希望也能按这个顺序输出值。但似乎是拉姆登。我如何影响或获得正确的输出顺序 const transform = require('camaro') const json2csv = require('json2csv').parse const xml = `

Node.js和camaro-影响xml到json的转换顺序

我使用node.js、camaro和json2csv解析xml文件并将其转换为csv。这一切似乎都起作用了。。。除了我得到了定义的不同输出顺序。我定义了要获取的元素的模板。。。我希望也能按这个顺序输出值。但似乎是拉姆登。我如何影响或获得正确的输出顺序

const transform = require('camaro')
const json2csv = require('json2csv').parse

const xml = `
<?xml version="1.0" encoding="UTF-8"?>
<testResults version="1.2">
<httpSample ts="1501597136964" lb="req_10">
  <responseData class="java.lang.String">1501597138973</responseData>
</httpSample>
<httpSample ts="1501597136964" lb="req_10">
  <responseData class="java.lang.String">1501597139525</responseData>
</httpSample>
<httpSample ts="1501597136964" lb="req_10">
  <responseData class="java.lang.String">1501597139716</responseData>
</httpSample>
</testResults>
`
const template = {
    data: ['//httpSample', {
        ts: '@ts',
        lb: '@lb',
        resp: 'responseData'
    }]
}

const result = transform(xml, template)
const csv = json2csv(result.data)

console.log(result);

{ data:
   [ { lb: 'req_10', resp: '1501597138973', ts: '1501597136964' },
     { lb: 'req_10', resp: '1501597139525', ts: '1501597136964' },
     { lb: 'req_10', resp: '1501597139716', ts: '1501597136964' } ] }   

console.log(csv)         
"lb","resp","ts"
"req_10","1501597138973","1501597136964"
"req_10","1501597139525","1501597136964"
"req_10","1501597139716","1501597136964"    

Desirerd order:
"ts","lb","resp"
const transform=require('camaro'))
const json2csv=require('json2csv')。parse
常量xml=`
1501597138973
1501597139525
1501597139716
`
常量模板={
数据:['//httpSample',{
ts:“@ts”,
lb:“@lb”,
响应:“响应数据”
}]
}
常量结果=转换(xml、模板)
const csv=json2csv(result.data)
控制台日志(结果);
{数据:
[{lb:'req_10',resp:'1501597138973',ts:'1501597136964'},
{lb:'req_10',resp:'1501597139525',ts:'1501597136964'},
{lb:'req_10',resp:'1501597139716',ts:'1501597136964'}]}
console.log(csv)
“lb”、“resp”、“ts”
“请求10”、“1501597138973”、“1501597136964”
“请求10”、“1501597139525”、“1501597136964”
“请求10”、“1501597139716”、“1501597136964”
要求命令:
“ts”、“lb”、“resp”

。。。输出似乎总是按字母顺序排列的,在v4.0.4版本中是固定的

公共关系: