Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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将级别转换为数组(Javascript)_Javascript_Json_Churchtools - Fatal编程技术网

JSON将级别转换为数组(Javascript)

JSON将级别转换为数组(Javascript),javascript,json,churchtools,Javascript,Json,Churchtools,我从ChurchTools API得到了一个非常糟糕的数据结构。但我需要处理循环中的数据,以进行一些if和else测试 我从API获得的数据: { "7":{ "bezeichnung": "Sample 1", "startdate" : "2010-02-01" }, "52":{ "bezeichnung": "Sample 2", "startdate" : "2011-04-23"}, "53":{ "bezeichnung": "Sample 3", "startd

我从ChurchTools API得到了一个非常糟糕的数据结构。但我需要处理循环中的数据,以进行一些if和else测试

我从API获得的数据:

{
   "7":{ "bezeichnung": "Sample 1", "startdate" : "2010-02-01" },
   "52":{ "bezeichnung": "Sample 2", "startdate" : "2011-04-23"},
   "53":{ "bezeichnung": "Sample 3", "startdate" : "2016-07-02"},
   "65":{ "bezeichnung": "Sample 4", "startdate" : "2013-04-21"},
   "84":{ "bezeichnung": "Sample 5", "startdate" : "2012-02-25"},
   "85":{ "bezeichnung": "Sample 6", "startdate" : "2016-08-22"}
}
我想把它转换成这样的东西:

{"arr":[
   { "bezeichnung": "Sample 1", "startdate" : "2010-02-01" },
   { "bezeichnung": "Sample 2", "startdate" : "2011-04-23"},
   { "bezeichnung": "Sample 3", "startdate" : "2016-07-02"},
   { "bezeichnung": "Sample 4", "startdate" : "2013-04-21"},
   { "bezeichnung": "Sample 5", "startdate" : "2012-02-25"},
   { "bezeichnung": "Sample 6", "startdate" : "2016-08-22"}
]}

for..in循环将完美工作:

for(key in yourdata){
 console.log(key, yourdata[key]);
}
如果确实要转换为真实数组,请执行以下操作:

Object.values(yourdata);//[{},{}]
然后得到一个对象数组。如果需要包含数据值的数组,可以执行以下操作:

Object.values(yourdata).map(el=>el.data);// ["Sample1","Sample2",...]

顺便说一句,欢迎来到SO

您可以使用获取键并使用进行迭代,然后返回包含内部对象的数组

var数据={7:{Bezeichung:样本1,起始日期:2010-02-01},52:{Bezeichung:样本2,起始日期:2011-04-23},53:{Bezeichung:样本3,起始日期:2016-07-02},65:{Bezeichung:样本4,起始日期:2013-04-21},84:{Bezeichung:样本5,起始日期:2012-02-25},85:{Bezeichung:样本6,起始日期:2016-08-22}, 结果={arr:Object.keysdata.mapk函数{ 返回数据[k]; } }; console.logresult;
.作为控制台包装{max height:100%!important;top:0;}处理后所需的格式是什么?您需要哪种格式的数据?你试过什么?也请看一下这里:有很多方法可以做到这一点,但你没有展示任何尝试。如果原始API数据在变量中,有没有一种方法可以使用此代码段?这是什么方法?我可以使用此代码吗?如果我在变量中有API数据,而不是作为源代码?对不起,我不知道你说的API。我可以使用你的代码吗,如果我有不止一把钥匙?我在我的项目中尝试了你的代码片段,但没有得到预期的结果。