Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

Linked to this question and this one also, I would like to know how to do the exact same thing but with a different type of JSON :

Here my JSON Object :

var myDb = {
    "04c85ccab52880": {
        "name": "name1",
        "firstname": "fname1",
        "societe": "soc1"
    },
    "04c95ccab52880": {
        "name": "name2",
        "firstname": "fname2",
        "societe": "soc2"
    },
    "048574220e2a80": {
        "name": "name3",
        "firstname": "fname3",
        "societe": "soc3"
     }
};

My problem is that my JSON is different from their JSON, actually I have an array of array in mine. So how to convert this into a Javascript array ?

var arr = [];

$.each( myDb, function( key, value ) {
    arr.push( value );    
});

console.log(user_list);

This kind of script seems to return my 3 different objects but where are my uid from JSON ? How can I get them ? Because now my keys are 0,1,2 and no longer my uid.

Any ideas ? Thanks

share|improve this question
    
possible duplicate of How to parse JSON in JavaScript –  Ashish Ratan Jun 19 at 10:31
    
@AshishRatan OK –  Flo Jun 19 at 10:48

3 Answers 3

up vote 3 down vote accepted

A working JSFIDDLE

JS code:

//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
    });    
});
share|improve this answer
    
Thank you Rahul –  Flo Jun 19 at 10:27
    
It was a pleasure helping you FlorentP ! :) –  Rahul Gupta Jun 19 at 10:28

if you want to convert them, with key. I suggest something like below

var mapped = Object.keys( myDb  ).map(function( uid ){
    return (myDb[uid ].uid = uid ) && myDb[uid ];
});

for value in your array look like, example mapped[0] has value :

{
    "name": "name1",
    "firstname": "fname1",
    "societe": "soc1",
    "uid": "04c85ccab52880"
}
share|improve this answer
    
Thanks, how can I specifically get the value of uid this way ? mapped[0] will return the whole object, but if I only need the uid for example ? Would mapped[0]['uid'] work in your opinion ? –  Flo Jun 19 at 13:05
 var myJspnArray=Json.parse(myDb);

now fetch this array using for loop according to your required index

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.