如何将JSON对象转换为Javascript数组

如何将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"

链接到和,我想知道如何使用不同类型的JSON执行完全相同的操作:

这里是我的JSON对象:

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']有效吗?