it-swarm-pt.tech

JSON.parse erro de caractere inesperado

Eu recebo este erro:

JSON.parse: caractere inesperado

quando eu executo esta declaração no firebug:

JSON.parse({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false});

Por que é tão? A string JSON parece correta para mim e também testei-a usando o JSHint. O objeto passado no caso acima é uma resposta do servidor com o tipo de conteúdo definido como application/json

108
krishna

Você não está analisando uma string, está analisando um objeto já analisado :)

var obj1 = JSON.parse('{"creditBalance":0,...,"starStatus":false}');
//                    ^                                          ^
//                    if you want to parse, the input should be a string 

var obj2 = {"creditBalance":0,...,"starStatus":false};
// or just use it directly.
218
kennytm

Você pode certificar-se de que o objeto em questão é estendido antes de passá-lo para analisar a função simplesmente usando JSON.stringify().

Atualizou sua linha abaixo

JSON.parse(JSON.stringify({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}));

ou se você tiver JSON armazenado em alguma variável:

JSON.parse(JSON.stringify(yourJSONobject));
34
ScrapCode