web-dev-qa-db-fra.com

JSON.parse: nom de propriété attendu ou '}'

Les données contiennent (/ " /):

 {"test":"101","mr":"103","bishop":"102"}

scénario:

console.log($.parseJSON(result));

Je reçois une erreur,

JSON.parse: expected property name or '}'.
35
realnumber

A eu le même problème lors de l'utilisation de guillemets simples dans le fichier JSON, changé en guillemets doubles pour toutes les propriétés/valeurs de chaîne et cela fonctionne bien maintenant, j'espère que cela aide n'importe qui ....

Changement:

JSON.parse("{'wrongQuotes': 5}") 

À:

JSON.parse('{"rightQuotes": 5}')
67
alchemication

Si vous recevez le JSON avec le " Encodé, vous devrez remplacer chaque instance de " Par un vrai " Avant de faire JSON.parse. Quelque chose comme:

myJSONstring.replace(/"/ig,'"');
20
Jonathan M

Changement
{"test":"101","mr":"103","bishop":"102"}
À
'{"test":"101","mr":"103","bishop":"102"}'

si cela vient du serveur (PHP)
soit <?php $php_var = ["test" => "101", "mr" => "103", "bishop" => "102"]?>

puis Javascript fin
var javascript_var = $.parseJSON('<?= json_encode($php_var) ?>');

2
kheengz