Je javascript j'ai un objet qui ressemble à:Javascript objet contenant JSON.stringify problème de sérialisation des tableaux
var myObj =
{
prop1: 1,
prop2: 2,
prop3: ["a","b","c","d","e"],
prop4: 4,
prop5: ["f","g","h","i"]
}
Il est un objet contenant un certain nombre de propriétés. Chaque propriété peut ou peut ne pas être un tableau.
var serializedMyObj = JSON.stringify(myObj);
serializedMyObj
est (disponible en visualisant les résultats de la fonction serialize dans Firebug):
"{ "prop1":1, "prop2":2, "prop3":["a","b","c","d", "e"], "prop4":4, "prop5":["f","g","h","i"] }"
si je alert(serializedMyobj);
il me montre:
{ "prop1":1, "prop2":2, "prop3":[], "prop4":4, "prop5":[] }
Le vrai problème est quand je Transmettez ces données à un logiciel Asp.Net PageMethod, le serveur reçoit les mêmes données que celles affichées dans la boîte de dialogue d'alerte, pas dans Firebug. Quelque part, il perd les valeurs du tableau et ne met que []
.
Est-ce que quelqu'un sait pourquoi cela se produirait ou un moyen de le réparer? C'est probablement quelque chose que je néglige.
J'utilise aussi Firefox, comment voyez-vous la chaîne après la sérialisation? (J'ai corrigé la faute de frappe, merci) –
Via l'alerte (serializedMyObj); ... Mais firebug est également d'accord avec cette sortie. Est-ce votre sortie réelle, ou juste aseptisé pour SO? Peut-être y a-t-il des personnages invalides quelque part ??? –
Ce ne sont pas les données réelles, les données réelles sont des propriétés entières avec des tableaux Guid, les Guids sont représentés comme des chaînes. Tout ça est assez simple, il doit y avoir quelque chose que je néglige. –