node-soap 当响应字段包含一个时强制数组 child
node-soap force array when reponse field contains one child
在使用 node-soap 的响应中转换 XML 中的字段时,我想强制一个字段成为一个数组,即使它包含一个 child.
当只有一个 child 时,一个字段被解释为 object。请看下面的例子:
// Below gives {ArrayOfItems: {Item: { name: 'foo', ... }}
// But I'd like it to be {ArrayOfItems: {Item: [{name: 'foo', ... }]}
<ArrayOfItems>
<Item>
...
</Item>
</ArrayOfItems>
// Below gives {ArrayOfItems: {Item: [{ name: 'foo', ... }, { name: 'bar', ... }]}
<ArrayOfItems>
<Item>
...
</Item>
<Item>
...
</Item>
</ArrayOfItems>
如何在从 xml 转换为 object 时强制将我的字段解析为数组?
我在使用 LoopBack Enterprise SOAP 连接器和节点肥皂时遇到了同样的问题。
我发现的最简单的解决方法是使用一个简单的方法来执行以下操作:
function forceArray(array) {
if (!array || Array.isArray(array))
return array;
else
return [array];
}
有帮助吗?
在使用 node-soap 的响应中转换 XML 中的字段时,我想强制一个字段成为一个数组,即使它包含一个 child.
当只有一个 child 时,一个字段被解释为 object。请看下面的例子:
// Below gives {ArrayOfItems: {Item: { name: 'foo', ... }}
// But I'd like it to be {ArrayOfItems: {Item: [{name: 'foo', ... }]}
<ArrayOfItems>
<Item>
...
</Item>
</ArrayOfItems>
// Below gives {ArrayOfItems: {Item: [{ name: 'foo', ... }, { name: 'bar', ... }]}
<ArrayOfItems>
<Item>
...
</Item>
<Item>
...
</Item>
</ArrayOfItems>
如何在从 xml 转换为 object 时强制将我的字段解析为数组?
我在使用 LoopBack Enterprise SOAP 连接器和节点肥皂时遇到了同样的问题。
我发现的最简单的解决方法是使用一个简单的方法来执行以下操作:
function forceArray(array) {
if (!array || Array.isArray(array))
return array;
else
return [array];
}
有帮助吗?