Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 重命名对象中的键_Json - Fatal编程技术网

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\":");

你能说清楚一点吗?您正在使用什么或尝试重命名什么?