Как получить доступ к данным из json, преобразованным из API xml nodejs
Я разработал API-интерфейс nodejs, который принимает xml в качестве входных данных, я смог получить к нему доступ в nodejs и преобразовать xml в указанный ниже json.
var data = {
"ns0:service1":{
"$":{
"xmlns:ns0":"http://www.google.com"
},
"ns0:messageheader":{
"$":{
"version":"1.0",
"xmlns:ns1":"http://www.google.com/logo"
},
"ns1:sourcesystemcode":"MUST",
"ns1:operation":"Process",
"ns1:targetsystemlist":{
"ns1:targetsystemcode":"TEST1",
"ns1:targetsystemname":"TEST1"
}
},
"ns0:messagedata":{
"ns3:messagedata":{
"$":{
"xmlns:ns3":"http://www.google.com/logo2"
},
"ns3:somessagerequestdata":{
"ns3:sorequestorderheader":{
"ns3:sourcecode":"TEST1",
"ns3:msgdate":"2014-05-28T11:48:31",
"ns3:deliveryaddress":{
"ns3:name":"John",
"ns3:streetname":"Latin",
"ns3:housenumber":"53"
},
"ns3:customeraddress":"",
"ns3:sorequestline":{
"ns3:orderid":"ord_001",
"ns3:linetype":"testing",
"ns3:itemnumber":"001",
"ns3:itemdescription":"iphonex",
"ns3:quantity":"1",
}
}
}
}
}
}
}
Как я могу получить доступ к значениям, как "ord_001" "тестирования" "001" "iphonex" "1" в узле JS.
Заранее спасибо:)
1 ответ
Одним из способов является использование скобочных обозначений:
data["ns0:service1"]["ns0:messagedata"]["ns3:messagedata"]["ns3:somessagerequestdata"]["ns3:sorequestorderheader"]["ns3:sorequestline"]["ns3:orderid"] will get you to ord_001.
data["ns0:service1"]["ns0:messagedata"]["ns3:messagedata"]["ns3:somessagerequestdata"]["ns3:sorequestorderheader"]["ns3:sorequestline"] will get you to the whole object you're looking for.
Способ установки этих объектов довольно грубый. Что-то блокирует работу JSON.parse(data).