/ / Sérialiser et désérialiser un tableau (sans jquery?) - javascript, jquery, ajax, sérialisation

Sérialiser et désérialiser un tableau (sans jquery?) - javascript, jquery, ajax, sérialisation

J'ai une méthode qui envoie une demande ajax. Lorsque la réponse du serveur est reçue, je dois sérialiser et désérialiser ultérieurement.

$.ajax({
//.....
done(function(data) {

//1 Need to serialize data (which is an array)


});

function myFunction() {
//2 Need to de-serialize data which has been serialized

}

Je sais que je pourrais utiliser jquery#serializeArray() si j'avais un formulaire à sérialiser:

$( "form" ).submit(function( event ) {
console.log( $( this ).serializeArray() );
event.preventDefault();
});

Mais je n’ai pas de formulaire et les données du serveur (je suppose) n’ont rien à voir avec serializeArray fonction de jquery. Alors, comment puis-je le faire? Quel est l'un des meilleurs moyens?

De préférence, n'utilisez aucune bibliothèque tierce, à l'exception de jQuery, ni même du tout.

Réponses:

1 pour la réponse № 1

Le moyen courant de sérialiser les objets JS en JSON est via JSON.stringify().

L’inverse est via JSON.parse().

o={"firstName":"john","lastName":"doe"};

console.log(JSON.stringify(o));
console.log(JSON.parse(JSON.stringify(o)));

Voir MDN pour corder et analyser

Voici une Violon.

.serializeArray () de jQuery est seulement une fonction utile pour sérialiser les données de formulaire. Il construit ses objets à partir de la base. Voici la la source pour ça. Si vous souhaitez soumettre vos données en tant que JSON, vous simplement

$.ajax({
type: "POST",
url: url,
data: JSON.stringify(data),
success: success,
dataType: dataType
});

Libre après jQuery.post ().