私は非常に単純な POCO クラスを持っています:
[JsonArray]
public class WebGame
{
public int Key { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
それにjson文字列を逆シリアル化しようとしています:
string json = @"[{'Key':'1','Name':'WebGame','Description':'bla-bla-bla'}]";
var myDeserializedObjList = (List<WebGame>)(JsonConvert.DeserializeObject(json, typeof(List<WebGame>)));
var game = myDeserializedObjList[0];
例外があります:
現在の JSON オブジェクト (例: {"name":"value"}) を型 'WebGame' に逆シリアル化できません。型が正しく逆シリアル化するには JSON 配列 (例: [1,2,3]) が必要なためです。このエラーを修正するには、JSON を JSON 配列 ([1,2,3] など) に変更するか、逆シリアル化された型を通常の .NET 型 (整数のようなプリミティブ型ではなく、コレクション型ではない) に変更します。 JSON オブジェクトから逆シリアル化できる配列またはリスト)。JsonObjectAttribute を型に追加して、強制的に JSON オブジェクトから逆シリアル化することもできます。
ここで何が問題なのですか?