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.

1
  • So then later, to get John's age, I would use: json[names[0]]["Age"]; json being the name of the root object. Commented May 19, 2017 at 8:50

4 Answers 4

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

Sign up to request clarification or add additional context in comments.

1 Comment

You're missing a semicolon on the obj initialization. Should be var obj = {...};
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);

Comments

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))

Comments

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);

Comments