包含数组序列化问题的Javascript JSON.stringify对象

时间:2010-02-19 22:17:16

标签: asp.net javascript ajax json pagemethods

我javascript我有一个类似于:

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

这是一个包含许多属性的对象。每个属性可能是也可能不是数组。

  var serializedMyObj = JSON.stringify(myObj);

serializedMyObj(通过查看firebug中序列化函数的结果找到):

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

如果我alert(serializedMyobj);它会告诉我:

{ "prop1":1, "prop2":2, "prop3":[], "prop4":4, "prop5":[] }

真正的问题是当我将这些数据传递到Asp.Net PageMethod时,服务器会获得与警报对话框中显示的相同的数据,而不是在firebug中。它丢失了数组值,只放入[]

有谁知道为什么会发生这种情况或解决问题?这可能是我忽略的一些简单。

1 个答案:

答案 0 :(得分:1)

我在firefox上得到以下(正确的)输出:

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

您使用的浏览器是什么?

另外,我注意到myObjJSON.stringify(myobj);是小写的 - 我认为这只是一个错字?