在JavaScript中序列化XML
我在express server中使用XML,使用在JavaScript中序列化XML,javascript,json,xml,express,Javascript,Json,Xml,Express,我在express server中使用XML,使用express XML bodyparser对其进行解析,但生成的对象基本上不可用 XML 有没有办法把它直接传给别人 subclass: ['A07.0','A07.1','A07.2','A07.3','A07.8','A07.9'] 或者用一些简单的方法把它转换成这个数组 如果您想将json转换为对象,那么可能类似于 var arr = Object.keys(json).map(function(x) { return obj[x] }
express XML bodyparser
对其进行解析,但生成的对象基本上不可用
XML
有没有办法把它直接传给别人
subclass: ['A07.0','A07.1','A07.2','A07.3','A07.8','A07.9']
或者用一些简单的方法把它转换成这个数组 如果您想将json转换为对象,那么可能类似于
var arr = Object.keys(json).map(function(x) { return obj[x] });
使用jQuery
var arr = $.map(json, function(x) { return x});
您可以将选项设置为true
,以删除$
属性:
xmlparser({ mergeAttrs: true, explicitArray: false})
输出:
SubClass: [
{ code: "A07.0" },
{ code: "A07.1" },
{ code: "A07.2" },
{ code: "A07.3" },
{ code: "A07.8" },
{ code: "A07.9" }
]
或者您可以使用以下方法:
var data={子类:
[{'$':{代码:'A07.0'}},
{'$':{代码:'A07.1'}},
{'$':{代码:'A07.2'}},
{'$':{代码:'A07.3'}},
{'$':{代码:'A07.8'}},
{'$':{代码:'A07.9'}}]};
var result=data.subclass.map((obj)=>{
返回obj.$代码;
});
控制台日志(结果)
Array.from(parentNode.childNodes).filter(n=>n.nodeType==1).map(n=>n.getAttribute('code'))
序列化程序知道在什么逻辑下执行您描述的操作?如果XML看起来像这样,那么它应该怎么做:
这在OP发布的“JSON”上不起作用,我认为OP希望跳过中间的JSON步骤。
xmlparser({ mergeAttrs: true, explicitArray: false})
SubClass: [
{ code: "A07.0" },
{ code: "A07.1" },
{ code: "A07.2" },
{ code: "A07.3" },
{ code: "A07.8" },
{ code: "A07.9" }
]