60 votes

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 '}'.

113voto

alchemication Points 617

J'ai eu le même problème lors de l'utilisation de guillemets simples dans un 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 aidera tout le monde....

Changer:

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

À:

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

32voto

Jonathan M Points 9304

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,'"');

7voto

Dazeh Points 103

Pour tous ceux qui utilisent laravel blade et déclarent une variable JS dans une vue.

Vous devez utiliser :

 var json = JSON.parse('{!! $json !!}');

Sinon, vous obtiendrez cette erreur car les guillemets sont analysés comme "

2voto

kheengz Points 637

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

si cela vient du serveur (PHP) c'est-à-dire <?php $php_var = ["test" => "101", "mr" => "103", "bishop" => "102"]?> puis sur Javascript fin var javascript_var = $.parseJSON('<?= json_encode($php_var) ?>') ;

0voto

nativelectronic Points 71

par exemple, si vous obtenez quelque chose comme ça

{ "location": "{'lat': 4.6351144, 'lng': -74.12011199999999}" }

de votre serveur, ou avez récemment obtenu un mauvais format converti. d'abord, récupère ta chaîne

 myItemString = "{'lat': 4.6351144, 'lng': -74.12011199999999}"

et changez les clés en utilisant replace, et plus tard json.parse, 'clé' vers ---> "clé"

      const key1 = myItemString.replace("'lat'",'"lat"')
      const key12 = key1.replace("'lng'", '"lng"');
      const obj = JSON.parse(key12)
      console.log(obj)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X