Json 重命名对象中的键
我有一个物体像:Json 重命名对象中的键,json,Json,我有一个物体像: {A:{}, B:{}, C:{}, D:{}, E:{}} 我想把钥匙从一个B C D E重命名为钥匙1,钥匙2,钥匙3,钥匙4,钥匙5。我该怎么做 谢谢您在问题中提出的JSON无效。正确的结构应如下所示: { "A": {}, "B": {}, "C": {}, "D": {}, "E": {} } 实际上,这个JSON也是有效的: { "key1": {}, "key2": {}, "key3": {}, "key4
{A:{}, B:{}, C:{}, D:{}, E:{}}
我想把钥匙从一个B C D E重命名为钥匙1,钥匙2,钥匙3,钥匙4,钥匙5。我该怎么做
谢谢您在问题中提出的JSON无效。正确的结构应如下所示:
{
"A": {},
"B": {},
"C": {},
"D": {},
"E": {}
}
实际上,这个JSON也是有效的:
{
"key1": {},
"key2": {},
"key3": {},
"key4": {},
"key5": {}
}
因此,您可以重命名这些键
如果出现问题,您可以使用类似的在线工具来验证JSON对象尝试以下方法:
function renameKey(obj, fromKey, toKey) {
obj[toKey] = obj[fromKey];
delete obj[fromKey];
}
var obj = {a: 5, b:6, c:7};
renameKey(obj, 'a', 'd');
console.dir(obj); // Object b: 6 c: 7 d: 5
这假设您正在处理一个对象,但如果您是从json开始的,只需在json字符串上调用它即可转换:
var obj = JSON.parse(jsonString);
您可以在当前json对象中循环,从对象中删除当前键值对并设置新的键名,然后将其添加回对象: var jsonData={A:{},B:{},C:{},D:{},E:{}; var计数器=1; console.logjsonData; $.eachjsonData,functionk,v{ 删除jsonData[k]; k=键+计数器; jsonData[k]=v; 计数器++; }; console.logjsonData;
在这种情况下,最容易使用替换:
var jsonstring = '[{A:{}, B:{}, C:{}, D:{}, E:{}}]';
jsonString = jsonString.replace("\"A\":", "\"KEY1\":");
jsonString = jsonString.replace("\"B\":", "\"KEY2\":");
jsonString = jsonString.replace("\"C\":", "\"KEY3\":");
jsonString = jsonString.replace("\"D\":", "\"KEY4\":");
jsonString = jsonString.replace("\"E\":", "\"KEY5\":");
你能说清楚一点吗?您正在使用什么或尝试重命名什么?