gpt4 book ai didi

javascript - 将 xml 请求转换为具有重复节点名称的 json 请求

转载 作者:行者123 更新时间:2023-12-03 02:07:44 25 4
gpt4 key购买 nike

我尝试将数据推送到第 3 方 Web 服务,特别是将 xml 请求转换为 json 请求(与 Node Soap 一起使用)。

下面是一个可以正常工作的原始 xml 请求的示例:

<EformData>
<EformFields>
<FieldName>txt_customername</FieldName>
<FieldValue>Scott</FieldValue>
</EformFields>
<EformFields>
<FieldName>txt_organisation</FieldName>
<FieldValue>My Orginisation</FieldValue>
</EformFields>
<EformFields>
<FieldName>txt_address</FieldName>
<FieldValue>My Address</FieldValue>
</EformFields>
<EformFields>
<FieldName>txt_telnumber</FieldName>
<FieldValue>123456</FieldValue>
</EformFields>
</EformData>

我遇到的问题是尝试将这些重复节点转换为一个对象,新的对象数据将被最后一个请求覆盖。

这是我到目前为止所拥有的:

var formValues = {
"txt_customername": "Scott",
"txt_organisation": "My Orginisation",
"txt_address": "My Address",
"txt_telnumber": "123456"
}

// Container
var EformData = {
"EformFields": {
}
};

// populate the object
for (var key in formValues) {
EformData.EformFields.FieldName = [key];
EformData.EformFields.FieldValue = formValues[key];
}

如下所示,只有最后一个请求存储在对象中,其他请求都被覆盖:

 <EformData>
<EformFields>
<FieldName>txt_telnumber</FieldName>
<FieldValue>123456</FieldValue>
</EformFields>
</EformData>

是否可以通过这种方式构建一个对象来匹配原始重复的 xml 节点数据?

最佳答案

你的json的数据结构应该是EformData有一个EformFields对象数组,它有FieldName属性>FieldValue

var formValues = {
"txt_customername": "Scott",
"txt_organisation": "My Orginisation",
"txt_address": "My Address",
"txt_telnumber": "123456"
}

// Container
var EformData = {
"EformFields": []
};

// populate the object
for (var key in formValues) {
EformData.EformFields.push({
"FieldName": key,
"FieldValue": formValues[key]
});
}

关于javascript - 将 xml 请求转换为具有重复节点名称的 json 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49730790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com