2

動的json配列をmvcのクライアント側に戻そうとしています。

これまでのところ私は

            var a = 1;
            var b = 10;
            var jsonArray = new JArray();

            for (var i = 1; i < 5; i++)
            {
                var json = new JObject();
                json.Add("field" + a, b);

                jsonArray.Add(json);
                a++;
                b++;
            }

            return Json(jsonArray);

これはクライアントに戻ります

[[[[]]]]

最初にJsonArrayを文字列に変換し、フォーマッターがないように設定しようとしましたが、フィドラーによると有効なjsonが返されません。

結果は次のように落ち着くと思います。

[{field1:10},{field2:11},{field3:12}]

誰かが私が間違っていることを指摘できますか

4

1 に答える 1

2

これはフィドラーで召集を通過しました:

return Json(new { JsonArray = jsonArray.ToString() });

Fiddlerはフォーム内のJSONオブジェクトを必要としているようです{ "FieldName": value }。したがって、匿名オブジェクトを作成しました。の代わりに任意の名前を使用できますJsonArray

単純に返すことJson(jsonArray)は機能しません。これjsonArrayは、目的の出力とは異なる基底表現があるため、シリアル化したときに表示される出力です。

于 2012-11-27T00:35:04.940 に答える