What are the differences between using JSON arrays vs JSON objects?

Objects- key and value, Arrays- integer. When do you use this or that?

I think of arrays and objects as "is a/an" and "has a" respectively. Lets use "Fruit" as example.

Every item in fruit array is a type of fruit.

array fruit : [orange, mango, banana]

. Arrays can contain objects,strings, numbers, arrays, but lets deal with only objects and arrays.

array fruit : [orange:[], mango:{}, banana:{}]

. You can see that orange is an array too. It implies any item that goes int orange is a type of orange, say: bitter_orange, mandarin, sweet_orange.

for fruit object, any item in it is an attribute of fruit. thus the fruit has a

object fruit :{seed:{}, endocarp:{},flesh:{}}

This also implies that anything within the seed object should be property of seed, say: colour,


The difference between an array and an object is that

Objects are set up using a key and value like:

person.age = 15;

If the key value is a variable, then one could access it like:

var key = "age";
alert(person[key]);

Arrays use an integer[1] index and take a value.

player[1].score += 1000;

[1] Yes, I know, in JavaScript the integer index is really turned into a string behind the scenes. Ignore that. Think of arrays taking an integer value ESPECIALLY when you think of JSON.


JSON arrays represent a collection of objects. In JS, theres a bunch of collection functions off of them such as slice, pop, push. Objects have just more raw data.