как получить доступ к данным из json, преобразованным из API xml nodejs - PullRequest
0 голосов
/ 11 октября 2018

Я разработал 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" "testing" "001" "iphonex" "1" в узле js.

Заранее спасибо:)

1 Ответ

0 голосов
/ 11 октября 2018

Один из способов - использовать скобочные обозначения:

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).

...