2015-09-15 28 views
2

這是我的第一篇文章,我對這個奇妙的開發世界很陌生,所以如果這是一個愚蠢的問題,我提前道歉。使用Javascript訪問JSON解析的SOAP信封

我正在使用Xml2js發送肥皂請求。然後我將這個響應解析成json。我的問題是深入到肥皂信封。這是響應的樣子:

{ 'soap:Envelope': { '$': { 'xmlns:soap': 'http://schemas.xmlsoap.org/soap/envelope/' }, 'soap:Header': [ [Object] ], 'soap:Body': [ [Object] ] } }

這是一個擴展視圖

{ 'soap:Envelope': 
{ '$': { 'xmlns:soap': 'http://schemas.xmlsoap.org/soap/envelope/' }, 
'soap:Header': 
    [ { DWHeader: 
     [ { '$': { xmlns: 'Some Xmls' }, 
      SenderInfo: 
      [ { ApplicationID: [ 'Id' ], 
       Credentials: [ { AuthToken: [ 'Authtoken' ] } ] } ], 
      GlobalTimeoutMS: [ '123' ], 
      TrackingID: [ '123' ], 
      TraceResults: 
      [ { TraceResult: 
       [ { IPAddress: [ '0.0.0.0' ], 
        Instance: [ '123' ], 
        Actor: [ '123' ], 
        Timestamp: [ '2015-08-08T15:45:40.844Z' ], 
        DetailedMessage: [ '123' ] } ] } ], 
      TraceSettings: [ { '$': { Enabled: 'false' } } ] } ] } ], 
'soap:Body': 
    [ { GetCurrentLocationOfAllMobilesResponse: 
     [ { '$': { xmlns: 'Some xmls' }, 
      Tracks: 
      [ { Track: 
       [ { Id: [ 'Id' ], 
        TimeStamp: [ '2015-09-14T21:09:47Z' ], 
        HardwareId: [ 'Some id' ], 
        MobileName: [ 'Truck' ], 
        Lat: [ 'Some Lat' ], 
        Lon: [ 'Some Lon' ], 
        Heading: [ '0' ], 
        Speed: [ '0' ], 
        GPSLock: [ 'true' ], 
        Old: [ 'false' ], 
        Ping: [ 'false' ], 
        Motion: [ 'false' ], 
        Speeding: [ 'false' ], 
        Ignition: [ 'false' ], 
        IgnitionStatus: [ 'Engine Off' ], 
        Street: [ 'Address' ], 
        City: [ 'Some City' ], 
        StateProvince: [ 'Some State' ], 
        PostalCode: [ 'Some Zip' ], 
        County: [ 'Some County' ], 
        Rssi: [ '32' ], 
        Sats: [ '11' ], 
        TimeZone: [ 'Some Timezone' ], 
        Sensor1: [ 'true' ], 
        Sensor2: [ 'false' ] } 
        ] } ] } ] } ] } } 

我需要的軌道陣列,但是當我嘗試深入我與「肥皂的問題:信封「和」肥皂:身體「。

這是我的第一個問題,所以如果我沒有發佈足夠的信息讓我知道,我會包括更多。

謝謝!

回答

1

您是否嘗試過使用括號表示法?

var tracksArray = response['soap:Envelope']['soap:Body'][0].GetCurrentLocationOfAllMobilesResponse[0].Tracks 

看到這個答案爲更多的括號標記:https://stackoverflow.com/a/4968448/4178531