1
{
    "John Doe": {
        "Age": 18,
        "Gender": "M"
    },
    "Jane Doe": {
        "Age": 16,
        "Gender": "F"
    },
    "Steve Appleseed":{
        "Age": 21,
        "Gender": "M"
    }
}

Using JavaScript, how do I get an array

var names = ["John Doe", "Jane Doe", "Steve Appleseed"];

If it helps, I'm using Firebase with a JavaScript and jQuery PWA, and I need a list of all the names of objects at a nesting particular level.

KENdi
  • 7,576
  • 2
  • 16
  • 31
  • So then later, to get John's age, I would use: json[names[0]]["Age"]; json being the name of the root object. –  May 19 '17 at 08:50

4 Answers4

4

Firstly note that this has nothing to do with JSON. What you have is an object. Therefore Object.keys will do what you require:

var obj = {
  "John Doe": {
    "Age": 18,
    "Gender": "M"
  },
  "Jane Doe": {
    "Age": 16,
    "Gender": "F"
  },
  "Steve Appleseed": {
    "Age": 21,
    "Gender": "M"
  }
}

var keys = Object.keys(obj);
console.log(keys);

console.log(obj[keys[0]]["Age"]); // John Doe's age
Rory McCrossan
  • 331,213
  • 40
  • 305
  • 339
1

You can use Object.keys(obj)

For more detail, you can see here

var obj = {
    "John Doe": {
        "Age": 18,
        "Gender": "M"
    },
    "Jane Doe": {
        "Age": 16,
        "Gender": "F"
    },
    "Steve Appleseed":{
        "Age": 21,
        "Gender": "M"
    }
};

var result = Object.keys(obj);

console.log(result);
taile
  • 2,738
  • 17
  • 29
0

try this

var obj = {
    "John Doe": {
        "Age": 18,
        "Gender": "M"
    },
    "Jane Doe": {
        "Age": 16,
        "Gender": "F"
    },
    "Steve Appleseed":{
        "Age": 21,
        "Gender": "M"
    }
}

    console.log(Object.keys(obj))
Harish
  • 1,841
  • 1
  • 13
  • 26
0

You can use object.keys(); for more information you can check https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys

t = {
    "John Doe": {
        "Age": 18,
        "Gender": "M"
    },
    "Jane Doe": {
        "Age": 16,
        "Gender": "F"
    },
    "Steve Appleseed":{
        "Age": 21,
        "Gender": "M"
    }
}

Object.keys(t);
Rex Adrivan
  • 993
  • 1
  • 10
  • 23