2010-02-19 2 views
1

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.

Répondre

1

Je reçois la sortie suivante (correcte) sur Firefox:

{"prop1":1,"prop2":2,"prop3":["a","b","c","d","e"],"prop4":4,"prop5":["f","g","h","i"]} 

Quel navigateur utilisez-vous?

En outre, j'ai remarqué que myObj était en minuscules dans JSON.stringify(myobj); - je suppose que c'était juste une faute de frappe?

+0

J'utilise aussi Firefox, comment voyez-vous la chaîne après la sérialisation? (J'ai corrigé la faute de frappe, merci) –

+0

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 ??? –

+0

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. –

Questions connexes