1

私は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);

serializedMyObjis(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に渡すと、サーバーは、ファイアバグではなく、アラートダイアログに表示されたときに表示されるのと同じデータを取得することです。どこかで配列値を失い、入れているだけ[]です。

なぜこれが起こるのか、それを修正する方法を誰かが知っていますか?それはおそらく私が見落としている単純なものです。

4

1 に答える 1

1

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

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

どのブラウザを使用していますか?

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

于 2010-02-19T22:22:40.417 に答える