简体   繁体   中英

How to update JSON array into list object in angularjs controller

How can I modify JSON object with new object in angularjs controller . I have given the two json format. I need to modify JSON with new JSON object.

Input is coming from form submission

{
  "motivationForFinDifficulty": "sds",
  "motivationForConcession": "sddsd",
  "motivationForModificationOrRefin": "dsasa",
  "administrationVO": {
    "measureCode": {
      "0": "C",
      "1": "B"
    },
    "measureType": {
      "0": "Refinancing",
      "1": "Temporary"
    },
    "measureDescription": {
      "0": "ok",
      "1": "ok"
    }
  }
}



<pre>

I want this below output .



{
  "motivationForFinDifficulty": "sds",
  "motivationForConcession": "sddsd",
  "motivationForModificationOrRefin": "dsasa",
  "administrationVO": [{
    "measureCode": "C",
    "measureType": "Refinancing",
    "measureDescription": "ok"
  }
  {
    "measureCode": "B",
    "measureType": "Temporary",
    "measureDescription": "ok"
  }
]

}

You can create a new object from existing one

 var x = { "motivationForFinDifficulty": "sds", "motivationForConcession": "sddsd", "motivationForModificationOrRefin": "dsasa", "administrationVO": { "measureCode": { "0": "C", "1": "B" }, "measureType": { "0": "Refinancing", "1": "Temporary" }, "measureDescription": { "0": "ok", "1": "ok" } } } // getting getAdministrationVO var getAdministrationVO = x.administrationVO; // an empty array for pushing objects var administrationVO = []; // get all the keys from the administrationVO var keysLength = Object.keys(getAdministrationVO); // considering all keys(object) of administrationVO have same number of keys var subKeys = Object.keys(getAdministrationVO.measureCode); // loop through it and add value from each of the nested object for (var i = 0; i < subKeys.length; i++) { var m = {}; m.measureCode = getAdministrationVO.measureCode[subKeys[i]]; m.measureType = getAdministrationVO.measureType[subKeys[i]]; m.measureDescription = getAdministrationVO.measureDescription[subKeys[i]]; // push the object in array administrationVO.push(m) } // create new object using predefined value and newly created array of object of administrationVO var newObj = { "motivationForFinDifficulty": "sds", "motivationForConcession": "sddsd", "motivationForModificationOrRefin": "dsasa", "administrationVO": administrationVO }; console.log(newObj) 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM