如何解决用JavaScript解析JSON转换的XML
我正在构建一个API,该API以快递方式将SOAP请求发送到Web服务,我使用easy-soap-request发送SOAP请求,自然得到了XML响应,然后使用xml2js转换了响应。这是响应:
{
"s:Envelope": {
"$": {
"xmlns:s": "http://schemas.xmlsoap.org/soap/envelope/"
},"s:Body": [
{
"SmartSearchIndividualResponse": [
{
"$": {
"xmlns": "some-url"
},"SmartSearchIndividualResult": [
{
"$": {
"xmlns:a": "yet-another-url","xmlns:i": "http://www.w3.org/2001/XMLSchema-instance"
},"a:IndividualRecords": [
{
"a:SearchIndividualRecord": [
{
"a:Address": [
"person-address"
],"a:DateOfBirth": [
"person-DOB"
],"a:FullName": [
"person-full-name"
],"a:IDNumber": [
"person-ID-number"
],"a:CompID": [
"company-ID"
]
}
]
}
]
}
]
}
]
}
]
}
}
反正有没有提取一些数据,例如地址或全名?
解决方法
JSON结构非常糟糕
const data =
{ 's:Envelope':
{ '$': { 'xmlns:s': 'http://schemas.xmlsoap.org/soap/envelope/'},'s:Body':
[ { 'SmartSearchIndividualResponse':
[ { '$': { 'xmlns': 'some-url'},'SmartSearchIndividualResult':
[ { '$':
{ 'xmlns:a': 'yet-another-url','xmlns:i': 'http://www.w3.org/2001/XMLSchema-instance'
},'a:IndividualRecords':
[ { 'a:SearchIndividualRecord':
[ { 'a:Address': [ 'person-address' ],'a:DateOfBirth': [ 'person-DOB' ],'a:FullName': [ 'person-full-name' ],'a:IDNumber': [ 'person-ID-number' ],'a:CompID': [ 'company-ID' ]
} ] } ] } ] } ] } ] } }
let individualRecs = data['s:Envelope']['s:Body'][0]
.SmartSearchIndividualResponse[0]
.SmartSearchIndividualResult[0]
['a:IndividualRecords'][0]
['a:SearchIndividualRecord'][0]
console.log( individualRecs['a:Address'][0] )
console.log( individualRecs['a:FullName'][0] )
.as-console-wrapper { max-height: 100% !important; top: 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。