1


1

配列のシリアル化の問題を含むJavaScript JSON.stringifyオブジェクト

私は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でserialize関数の結果を表示することで見つかります)。

"{ "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 回答


1


firefoxで次の(正しい)出力が得られます。

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

お使いのブラウザは何ですか?

また、「JSON.stringify(myobj);」では「myObj」が小文字であることに気付きました-これは単なるタイプミスだと思いますか?