在嵌套的JSON结构中更改密钥名称

use*_*231 5 javascript json

我有一个JSON数据结构,如下所示:

{
    "name": "World",
    "children": [
      { "name": "US",
          "children": [
           { "name": "CA" },
           { "name": "NJ" }
         ]
      },
      { "name": "INDIA",
          "children": [
          { "name": "OR" },
          { "name": "TN" },
          { "name": "AP" }
         ]
      }
 ]
};
Run Code Online (Sandbox Code Playgroud)

我需要将键名从"name"和"children"更改为"key"和"value".有关如何为此嵌套结构中的每个键名执行此操作的任何建议?

I H*_*azy 13

我不知道你为什么在你的JSON标记结尾处有一个分号(假设你在问题中表示的是),但是如果删除它,那么你可以使用reviver函数在解析数据时进行修改.

var parsed = JSON.parse(myJSONData, function(k, v) {
    if (k === "name") 
        this.key = v;
    else if (k === "children")
        this.value = v;
    else
        return v;
});
Run Code Online (Sandbox Code Playgroud)

演示: http : //jsfiddle.net/BeSad/