hello friends i want to rename my JSON key so below i my code
var json = '[{"Status":"Success","Data":[{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"31","WishListName":"General","WishListItems":[{"WishListItemID":"3","ItemCode":"4414082000005","ItemName":"Notebook 4414-082","Image":".jpg","ItemPrice":0.500,"CreatedDate":"25/05/2018"}]},{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"24","WishListName":"Default","WishListItems":[]}],"Message":null}]';
var obj = JSON.parse(json)[0].Data;
obj.data = obj.WishListItems;
delete obj.WishListItems;
json = JSON.stringify([obj]);
console.log("FINAL JSON " + (json));
hello friends i want to rename my JSON key so below i my code
var json = '[{"Status":"Success","Data":[{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"31","WishListName":"General","WishListItems":[{"WishListItemID":"3","ItemCode":"4414082000005","ItemName":"Notebook 4414-082","Image":"http://aljeel.gct.om/ProductsImages/4414082000005_MT1.jpg","ItemPrice":0.500,"CreatedDate":"25/05/2018"}]},{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"24","WishListName":"Default","WishListItems":[]}],"Message":null}]';
var obj = JSON.parse(json)[0].Data;
obj.data = obj.WishListItems;
delete obj.WishListItems;
json = JSON.stringify([obj]);
console.log("FINAL JSON " + (json));
i want to change WatchListItem key with data key but when i run above code JSON key is not replacing any idea how can i solve this?
Share Improve this question edited Jun 5, 2018 at 12:11 Harshal Kalavadiya asked Jun 5, 2018 at 11:45 Harshal KalavadiyaHarshal Kalavadiya 2,4364 gold badges40 silver badges77 bronze badges 2-
1
Data key is also an array so you may need to do
var obj = JSON.parse(json)[0].Data[0];
instead – Babis.amas Commented Jun 5, 2018 at 11:50 - Does this answer your question? How to rename JSON key – bsplosion Commented Mar 17, 2022 at 13:40
3 Answers
Reset to default 4Try this :
var json = '[{"Status":"Success","Data":[{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"31","WishListName":"General","WishListItems":[{"WishListItemID":"3","ItemCode":"4414082000005","ItemName":"Notebook 4414-082","Image":"http://aljeel.gct.om/ProductsImages/4414082000005_MT1.jpg","ItemPrice":0.500,"CreatedDate":"25/05/2018"}]},{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"24","WishListName":"Default","WishListItems":[]}],"Message":null}]';
var obj = JSON.parse(json)[0].Data;
console.log("Before replace", obj);
var res = obj.map(item => {
item.data = item.WishListItems;
delete item.WishListItems;
return item;
});
console.log("After replace", res);
obj
was undefined
. Changing obj
to obj[0]
fixed it.
var json = '[{"Status":"Success","Data":[{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"31","WishListName":"General","WishListItems":[{"WishListItemID":"3","ItemCode":"4414082000005","ItemName":"Notebook 4414-082","Image":"http://aljeel.gct.om/ProductsImages/4414082000005_MT1.jpg","ItemPrice":0.500,"CreatedDate":"25/05/2018"}]},{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"24","WishListName":"Default","WishListItems":[]}],"Message":null}]';
var obj = JSON.parse(json)[0].Data[0];
obj.data = obj.WishListItems;
delete obj.WishListItems;
json = JSON.stringify([obj]);
console.log("FINAL JSON " + (json));
The issue with your code is that your obj is not one object it is an array. you have to use
var obj = JSON.parse(json)[0].Data[0];
in the assignement. Or to do it for all objects
use forEach like below
var json = '[{"Status":"Success","Data":[{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"31","WishListName":"General","WishListItems":[{"WishListItemID":"3","ItemCode":"4414082000005","ItemName":"Notebook 4414-082","Image":"http://aljeel.gct.om/ProductsImages/4414082000005_MT1.jpg","ItemPrice":0.500,"CreatedDate":"25/05/2018"}]},{"UserID":null,"UserName":null,"EmailID":null,"EmailIDExists":false,"Active":null,"Country":null,"WishListID":"24","WishListName":"Default","WishListItems":[]}],"Message":null}]';
JSON.parse(json)[0].Data.forEach(obj=>{
obj.data = obj.WishListItems;
delete obj.WishListItems;
json = JSON.stringify([obj]);
console.log("FINAL JSON " + (json));
});