122 votes

Convertir un objet en chaîne JSON

jQuery.parseJSON('{"name":"John"}') convertit une représentation de chaîne en objet mais je veux l'inverse. L'objet doit être converti en chaîne JSON J'ai obtenu un lien http://www.devcurry.com/2010/03/convert-javascript-object-to-json.html mais il faut avoir json2.js. jQuery a-t-il une méthode native pour le faire?

184voto

jAndy Points 93076

JQuery ne fait que vérifier certaines expressions régulières avant d'appeler la méthode native du navigateur window.JSON.parse(). Si celle-ci n'est pas disponible, elle utilise eval() ou plus précisément new Function() pour créer un objet Javascript.

L'opposé de JSON.parse() est JSON.stringify() qui sérialise un objet Javascript en une chaîne de caractères. jQuery n'a pas de fonctionnalité propre pour cela, vous devez utiliser la version intégrée du navigateur ou json2.js depuis http://www.json.org

JSON.stringify() est disponible dans tous les principaux navigateurs, mais pour être compatible avec les anciens navigateurs, vous avez encore besoin de cette solution de secours.

12voto

Excalibur Points 855

Aussi utile est Object.toSource() à des fins de débogage, lorsque vous souhaitez afficher l'objet et ses propriétés à des fins de débogage. Il s'agit d'une fonction générique JavaScript (pas jQuery), cependant elle ne fonctionne que dans les navigateurs "modernes".

5voto

Subroto Biswas Points 397

Convertir un objet JavaScript en données json

$("form").submit(function(event){
  event.preventDefault();
  var formData = $("form").serializeArray(); // Créer un tableau d'objets
  var jsonConvertedData = JSON.stringify(formData);  // Convertir en json
  consol.log(jsonConvertedData);
});

Vous pouvez valider les données json en utilisant http://jsonlint.com

2voto

geo1701 Points 3269

Vous pouvez utiliser l'excellent plugin jquery-Json:

http://code.google.com/p/jquery-json/

Rend facile la conversion en objets Json et à partir de ceux-ci.

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