0
Json.netを使用して、インターフェイスオブジェクトを含むバスケットをデシリアライズしたいとします。 この...インターフェイスオブジェクトのリストのシリアライズ
{
"Owner": "John",
"Fruit": [ <an apple object>, <a pear>, etc... ]
}
...これに入る必要があります...
class Basket
{
string Owner;
List<iFruit> Fruit; //contains instances of Apple, Pear,...
}
インタフェースは、インスタンス化することはできませんので、具体的なオブジェクトへの変換が必要とされています。 JsonConverterを使って具体的なAppleとPearのインスタンスを作成する例が見つかりました。 JsonConverterだけフルーツリスト内のオブジェクトのために使用され、私は全体のバスケットをデシリアライズするにはどうすればよい
List<iFruit> fruit = JsonConvert.DeserializeObject<List<iFruit>>(json, new FruitConverter());
、:しかし、リストは常にのようなラインで直接作成されましたか?
「IFruit」インターフェースまたは「Fruit」メンバーのいずれかで['JsonConverterAttribute'](http://www.newtonsoft.com/json/help/html/T_Newtonsoft_Json_JsonConverterAttribute.htm)を使用することができます。 – Blorgbeard
はい、もちろんです。それはそれと同じくらい簡単です。インタフェース定義の属性。ありがとうございました! (これを最善の答えとしたい場合は、下にそれを繰り返してください。) –
それは大丈夫です、私は本当にあなたにヒントを与えました。自分で回答を投稿し、それを受け入れることができます。 – Blorgbeard