JSON将级别转换为数组(Javascript)
我从ChurchTools API得到了一个非常糟糕的数据结构。但我需要处理循环中的数据,以进行一些if和else测试 我从API获得的数据: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
{
"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。我可以使用你的代码吗,如果我有不止一把钥匙?我在我的项目中尝试了你的代码片段,但没有得到预期的结果。