私はパブリケーションの静的なリストを公開する非常に基本的なASP MVCアプリケーションを持っています(下記のコードと結果を参照)。なぜASP MVCはAndroidが好きではないJSON形式を作成しますか?
コード:
public JsonResult Index()
{
List<Publication> list = new List<Publication>() {
new Publication() { Id = 1, Name = "War and Peace" },
new Publication() { Id = 2, Name = "Harry Potter" },
new Publication() { Id = 3, Name = "Cat in the Hat" }
};
return this.Json(list, JsonRequestBehavior.AllowGet);
}
結果:私はAndroidの中でそれを消費しようとすると
[{"Id":1,"Name":"War and Peace"},{"Id":2,"Name":"Harry Potter"},{"Id":3,"Name":"Cat in the Hat"}]
私は次のエラーを取得する:
04-15 12:00:57.331: W/System.err(209): org.json.JSONException: A JSONObject text must begin with '{' at character 1 of [{"Id":1,"Name":"War and Peace"},{"Id":2,"Name":"Harry Potter"},{"Id":3,"Name":"Cat in the Hat"}]
私は開始を削除することができます[と終了]をクリックするとエラーが表示されなくなります。もう一つの選択肢は、{出版物:ロジックをアンドロイドコードの先頭に置くことですが、すでにそこにあるはずのようです。
MVCアプリケーションのコードを更新して、JSONの "ready to be consumed"バージョンを生成するにはどうすればよいですか?
ご協力いただきまして誠にありがとうございます。
FYI、MVCがありませんJson – Baz1nga
「return this.Json(list、JsonRequestBehavior.AllowGet);」とは何ですか?行ですか?結果はJSONと非常によく似ています。 JSONメソッドの名前は、私がJSONメソッドを使用していると信じさせてくれます。 – alockrem
標準であるJSON形式でresultSetを構築しています。 – Baz1nga