Javascript Node.js中的数据转换,最佳实践?

Javascript Node.js中的数据转换,最佳实践?,javascript,java,node.js,xml,Javascript,Java,Node.js,Xml,我需要将各种消息格式转换为JSON和v.v,例如XML转换为JSON,然后JSON转换为XML,或者EDI转换为JSON,JSON转换为EDI 我研究了几个不同的XML到JSON模块,它们似乎主要是直接转换成自己的JSON和/或XML格式,而不是转换成我所需的XML(例如UBL2.1) 一种简单直接的方法是只使用字符串变量: let myXML = '<root><hdr>' + jsonIn.hdr + '</hdr>\r\n'; myXML += '<

我需要将各种消息格式转换为JSON和v.v,例如XML转换为JSON,然后JSON转换为XML,或者EDI转换为JSON,JSON转换为EDI

我研究了几个不同的XML到JSON模块,它们似乎主要是直接转换成自己的JSON和/或XML格式,而不是转换成我所需的XML(例如UBL2.1)

一种简单直接的方法是只使用字符串变量:

let myXML = '<root><hdr>' + jsonIn.hdr + '</hdr>\r\n';
myXML += '<itm>' + jsonIn.item[0] + '</hdr></root>';
让myXML=''+jsonIn.hdr+'\r\n';
myXML+=''+jsonIn.item[0]+'';
但是
myXML
变量将非常大。目前最大可达200 kB,但将来可能会更大

显然,这是创建出站格式的最快、最简单的方法,但是创建一个庞大的字符串变量感觉不太对

在Java中,我会使用StringBuilder,节点有一个npm:

<> P>哪种方法你会考虑“最佳实践”方法?

在Java中,我会使用StringBuilder

如果是这种情况,那么您最终需要以一个包含结果的字符串结束,一个相当正常的模式是在数组中构建单个字符串,然后在生成最后一个大字符串时使用
array#join

let myXML = [];
myXML.push('<root><hdr>' + jsonIn.hdr + '</hdr>\r\n');
myXML.push('<itm>' + jsonIn.item[0] + '</hdr></root>');
// ...

// When you're ready for the big string:
myXML = myXML.join("");
让myXML=[];
myXML.push(“”+jsonIn.hdr+'\r\n');
myXML.push(“”+jsonIn.item[0]+“”);
// ...
//当你准备好迎接大挑战时:
myXML=myXML.join(“”);

如果结尾不需要大字符串,但要写入文件等,边写边写往往是一个很好的解决方案。

如何处理转换后的结果?这似乎对确定正确的解决方案非常重要。如果有点不清楚,对不起。。。转换后的结果要么被推送到AWS SQS队列,以便从AWS API网关获取,要么作为文件放在AWS S3中,在那里可以从SFTP服务器访问它。请参阅:好的,谢谢,就像我当时所想的那样。。。我不写文件,它是作为HTTP POST推出的。