代码之家  ›  专栏  ›  技术社区  ›  John Boker

javascript json.stringify包含数组序列化问题的对象

  •  1
  • John Boker  · 技术社区  · 14 年前

    i javascript i有一个类似于以下内容的对象:

    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页面方法中时,服务器将获得与警报对话框中显示的数据相同的数据,而不是Firebug中显示的数据。在某个地方,它会丢失数组值,只会放入 [] .

    有人知道为什么会发生这种情况或解决它的方法吗?我可能忽略了一些简单的事情。

    1 回复  |  直到 13 年前
        1
  •  1
  •   Justin Ethier    14 年前

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

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

    您使用的浏览器是什么?

    另外,我注意到 myObj 在中是小写 JSON.stringify(myobj); -我想那只是个打字错误?

    推荐文章