JSON implementations that handle sparse arrays JSON implementations that handle sparse arrays json json

JSON implementations that handle sparse arrays


Not possible. Forget implementations, it's just plain not allowed in the spec.

http://json.org/

Arrays are defined by value only. Objects are for when the index/key has meaning.


Could you use an object where the property name was an index and the property value was the value, then run it through an intermediary function to create your sparse array?

function getSparseArray(obj) {  var ary = [];  for (prop in obj) {    var i = parseInt(prop,10);    if (!isNaN(i)) {      ary[i] = obj[prop];    }  }  return ary;}

You would send it something like

{ "5":"Five", "11":"Eleven", "99":"Ninety-Nine"}

and get back an array that was populated with just three values:

ary[5] = "Five"ary[11] = "Eleven"ary[99] = "Ninety-Nine"ary[0] = 'undefined'ary[98] = 'undefined'etc.

ary here would have a length of 100, but it would be a "sparse" array in your sense.