如何将JSON对象转换为Javascript数组
链接到和,我想知道如何使用不同类型的JSON执行完全相同的操作: 这里是我的JSON对象:如何将JSON对象转换为Javascript数组,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,链接到和,我想知道如何使用不同类型的JSON执行完全相同的操作: 这里是我的JSON对象: var myDb = { "04c85ccab52880": { "name": "name1", "firstname": "fname1", "societe": "soc1" }, "04c95ccab52880": { "name": "name2", "firstname": "fname2"
var myDb = {
"04c85ccab52880": {
"name": "name1",
"firstname": "fname1",
"societe": "soc1"
},
"04c95ccab52880": {
"name": "name2",
"firstname": "fname2",
"societe": "soc2"
},
"048574220e2a80": {
"name": "name3",
"firstname": "fname3",
"societe": "soc3"
}
};
我的问题是,我的JSON与他们的JSON不同,实际上我的JSON中有一个数组数组。那么如何将其转换为Javascript数组呢
var arr = [];
$.each( myDb, function( key, value ) {
arr.push( value );
});
console.log(user_list);
这种脚本似乎返回了我的3个不同对象,但我的uid来自JSON哪里?我怎样才能得到它们?因为现在我的密钥是0,1,2,不再是我的uid
有什么想法吗?谢谢一位工作人员
JS代码:
//var arr = [];
var myDb = {
"04c85ccab52880": {
"name": "name1",
"firstname": "fname1",
"societe": "soc1"
},
"04c95ccab52880": {
"name": "name2",
"firstname": "fname2",
"societe": "soc2"
},
"048574220e2a80": {
"name": "name3",
"firstname": "fname3",
"societe": "soc3"
}
};
$.each( myDb, function( key, value ) {
//arr.push( value );
console.log("key => "+key);//will output: 04c85ccab52880 and all such
$.each( value, function( ky, val ) {
console.log('ky => '+ky);//will output: name, firstname, societe
console.log('val => '+val);//will output: name1, fname1, soc1
});
});
如果要转换它们,请使用键。我建议如下
var mapped = Object.keys( myDb ).map(function( uid ){
return (myDb[uid ].uid = uid ) && myDb[uid ];
});
对于数组中的值,示例映射[0]具有以下值:
{
"name": "name1",
"firstname": "fname1",
"societe": "soc1",
"uid": "04c85ccab52880"
}
很高兴帮助你FlorentP!:可能是重复的谢谢,我怎样才能通过这种方式获得uid的值?mapped[0]将返回整个对象,但是否仅需要uid作为示例?您认为映射的[0]['uid']有效吗?