Welsh King
Welsh King

Reputation: 3238

Json Javascript String Syntax error when parsing an array

I have the following code javascript code

var tasksPlayed = [];
tasksPlayed[90] = true;

var json = JSON.stringify(tasksPlayed);

var output = JSON.parse(json);

this gives an error

SyntaxError: JSON.parse

Im not sure why, if I do a .toSource() on the objects I get

keyValue:"[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,true]"})

Any ideas where I might be going wrong

Upvotes: 0

Views: 456

Answers (1)

Danilo Valente
Danilo Valente

Reputation: 11352

I don't get this error when I run the code, but the thing with the null values is that tasksPlayed is an array, so when you set tasksPlayed[90] = true;, then it automatically fills all positions from 0 to 89 with null. Try using a plain object instead of an array:

var tasksPlayed = {};
tasksPlayed[90] = true;

var json = JSON.stringify(tasksPlayed);

var output = JSON.parse(json);

Upvotes: 1

Related Questions