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?
Réponses
Trop de publicités?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.
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
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.