最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Rename JSON key in javascript - Stack Overflow

programmeradmin0浏览0评论

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
Add a ment  | 

3 Answers 3

Reset to default 4

Try 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));
});
发布评论

评论列表(0)

  1. 暂无评论