Win 8 アプリで、次の JSON をオブジェクトに逆シリアル化しようとしています。
{
"success":true,
"pharmacies":[
{
"name":"Test Pharmacy",
"phone":null,
"description":"sample description",
"pharmacyid":"1234567",
"pic":"/1341864197.png",
"address":"211 Warren St., #205",
"city":"Newark",
"state":"NJ",
"zipcode":"07103",
"delivery":true,
"dob_check":false,
"name_check":false,
"can_pickup":true,
"barcode_template":"9999999XX"
}
]
}
これは私が使用しているモデルです:
public class PharmacyList
{
public List<Pharmacy> pharmacies { get; set; }
}
public class Pharmacy
{
public string pharmacyid { get; set; }
public string name { get; set; }
public string phone { get; set; }
}
そして、これが逆シリアル化に使用しているコードです
json = await results.Content.ReadAsStringAsync();
List<PharmacyList> p = JsonConvert.DeserializeObject<List<PharmacyList>>(json);
次の例外が発生します。
: 現在の JSON オブジェクト (例: {"name":"value"}) を型 'System.Collections.Generic.List`1[PharmacyHC.Models.PharmacyList]' に逆シリアル化できません。型には JSON 配列が必要なためです (例 [1 ,2,3]) 正しく逆シリアル化します。
間違った型に逆シリアル化しようとしていますか、それとも API から別の方法で返される JSON をフォーマットする必要がありますか?