Javascript 使用递归将JSON转换为另一种JSON格式

Javascript 使用递归将JSON转换为另一种JSON格式,javascript,json,recursion,Javascript,Json,Recursion,请帮助我创建一个递归函数,将JSON从给定格式转换为下面的JSON。我有点不知道怎么做。 谢谢你的帮助! 下面是我拥有并需要转换的JSON格式示例 这是提供的: { "context": { "device": { "localeCountryCode": "AX", "datetime": "3047-09-29T07:09:52.498Z" }, "currentLocation": { "c

请帮助我创建一个递归函数,将JSON从给定格式转换为下面的JSON。我有点不知道怎么做。 谢谢你的帮助! 下面是我拥有并需要转换的JSON格式示例

这是提供的:

{
  "context": {
    "device":          {
      "localeCountryCode": "AX",
      "datetime":          "3047-09-29T07:09:52.498Z"
    },
    "currentLocation": {
      "country": "KM",
      "lon":     -78789486,
    }
  }
}
这就是我想要得到的:

{
  "label":    "context",
  "children": [
    {
      "label":    "device",
      "children": [
        {
          "label": "localeCountryCode"
        },
        {
          "label": "datetime"
        }
      ]
    },
    {
      "label":    "currentLocation",
      "children": [
        {
          "label": "country"
        },
        {
          "label": "lon"
        }
      ]
    }
  ]
}

您可以检查对象是否真实,并获取对象的关键点。然后为每个键返回一个带有标签的对象和一个带有函数递归调用结果的children属性

函数变换(o){
if(o&&typeof o==='object'){
返回对象.keys(o).map(函数(k){
var children=transform(o[k]);
返回子项?{label:k,children:children}:{label:k};
});
}
}
var object={context:{device:{localecocountrycode:“AX”,datetime:“3047-09-29T07:09:52.498Z”},当前位置:{country:“KM”,lon:-78789486,},
结果=变换(对象);
控制台日志(结果)

.as控制台包装{max height:100%!important;top:0;}
给定的格式是什么?如果没有您拥有的格式和您想要的格式,我们无法回答此问题。您似乎忘记了包含相关信息。请提供一个你正在使用的数据的例子。谢谢各位,我添加了相关信息。仍然不知道你到底在问什么?这似乎更像是一篇“请为我写这篇”的帖子。到目前为止你都试过什么?只是盯着它看?写了一些失败的代码?写了一些你不满意的代码,等等?