Je reçois cette erreur:
JSON.parse: caractère inattendu
quand je lance cette déclaration dans firebug:
JSON.parse({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false});
Pourquoi est-ce? La chaîne JSON me semble correcte et je l’ai également testée avec JSHint. L'objet transmis dans le cas ci-dessus est une réponse du serveur avec le type de contenu défini sur application/json
Vous n'analysez pas une chaîne, vous analysez un objet déjà analysé :)
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.
Vous pouvez vous assurer que l'objet en question est structuré avant de le transmettre à une fonction d'analyse en utilisant simplement JSON.stringify()
.
Mis à jour votre ligne ci-dessous,
JSON.parse(JSON.stringify({"balance":0,"count":0,"time":1323973673061,"firstname":"howard","userId":5383,"localid":1,"freeExpiration":0,"status":false}));
ou si vous avez JSON stocké dans une variable:
JSON.parse(JSON.stringify(yourJSONobject));