1

I used an api that gives result in XML (follwing format) instead of JSON.

<soapenv:Envelope >
   <soapenv:Header/>
   <soapenv:Body>
      <p444:DetailsResult>
         <Policy>
            <RenewalEligibility>YES</RenewalEligibility>
            <ContCovBenEligibility>NO</ContCovBenEligibility>
            <Client>
               <FirstName>Pradeep</FirstName>
               <LastName>Chaudhary</LastName>
               <GenderCode>1</GenderCode>
               <SmokerFlag>0</SmokerFlag>
               <MaritalStatusCode>0</MaritalStatusCode>
            </Client>
         </Policy>
         <WebAdress xsi:nil="true"/>
      </p444:PolicyDetailsResult>
   </soapenv:Body>
</soapenv:Envelope>

And i convert the above xml into JSON with xmlToJson method like this.

let jsonText = JSON.stringify(this.xmlToJson(xml)); let jsoParseData = JSON.parse(jsonText);

And I got result in below format.

{
  "soapenv:Envelope": {
    "soapenv:Body": {
      "p444:DetailsResult": {
        "Policy": {
          "RenewalEligibility": "YES",
          "ContCovBenEligibility": "NO",
          "Client": {
            "FirstName": "Pradeep",
            "LastName": "Chaudhary",
            "GenderCode": "1",
            "SmokerFlag": "0",
            "MaritalStatusCode": "0"
          }
        }
      }
    }
  }
}

But I want to extract to JSON in below format

"Header": null,
   "Body": {
      "PolicyDetailsResult": {
         "Policy": {
            "RenewalEligibility": "YES",
            "ContCovBenEligibility": "NO",
            "Client":{
               "FirstName":"Pradeep",
               "LastName":"Chaudhary",
               "GenderCode":"1",
               "SmokerFlag":"0",
               "MaritalStatusCode":"0",
            }      
        }
     }
   }

Thanks in Advance

user3492620
  • 83
  • 2
  • 8
  • Which api is used? If it is self coded, then it's your job to change the `xmlToJson` method. Take a look to ready for use apis like [https://www.npmjs.com/package/xml2json](https://www.npmjs.com/package/xml2json). – Manfred Steiner Feb 22 '18 at 05:56
  • 1
    I recommend doing it yourself. It will maybe take a day or two, but in the end it was worth it for me. Here the code: `let parser = new DOMParser(); let xmlDoc = parser.parseFromString(xml, 'text/xml'); let json = xmlDoc.getElementsByTagName('body');`. – Swoox Feb 22 '18 at 07:25

0 Answers0