[JAVASCRIPT] JSON.parse()

JSON.parse() [JAVASCRIPT] - Javascript/Node.js - Programmation

Marsh Posté le 01-03-2019 à 10:27:01    

Bonjour,
 
Voici mon problème:
 
J'ai un fichier HTML avec ceci à un moment:
<a href="?p=log.view&id=52" class="list-group-item list-group-item-action" data-toggle="modal" data-target="#contextModal" data-context='{"annee": 1981, "genre": "Rock", "groupe": "Genesis", "titre_album": "Abacab"}'>test</a>
 
J'ai ensuite un Javascript dont le but est de parser le JSON présent dans le "data-context", je fais donc:
var recipient = JSON.parse(button.data('context'));
 
Mais j'ai systématiquement l'erreur: SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
 
L'erreur provient du fait que JSON.parse souhaite avoir une string et que ce n'est pas ce que je lui envoie.
 
Si je tente de faire:
var recipient = JSON.parse(button.data('{"annee": 1981, "genre": "Rock", "groupe": "Genesis", "titre_album": "Abacab"}'));
Là, pas de problème.
 
Ma question est donc: comment lui dire que ce qu'il récupère est une chaine de caractère? C'est sans doute tout bête mais je n'y parviens pas…
 
Par avance, merci!

Reply

Marsh Posté le 01-03-2019 à 10:27:01   

Reply

Marsh Posté le 01-03-2019 à 10:54:49    

Bon, j'ai cherché pendant 2h avant de poser ma question, et là, seulement quelques minutes plus tard, je trouve la solution:
 
JSON.parse(JSON.stringify(button.data('context')));
 
Il m'affichage par défaut un "undefined" avant ma liste ensuite mais avec un "replace" je l'enlève donc ça roule. :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed