このJSONを逆シリアル化するにはどうすればよいですか?
{"totalResult":3,"categories":[{"1":{"categoryName":"plumbers","categoryIconUrl":"","headingName":"plumbers"}},{"2":{"categoryName":"plumbing parts and accessories","categoryIconUrl":"","headingName":"plumbing parts and accessories"}},{"3":{"categoryName":"plumbing services","categoryIconUrl":"","headingName":"plumbing services"}}]}
だから私はすでにいくつかのことを試しました...現在「totalResult」を取得できますが、他のデータを取得できません。現在取得している情報を取得するために使用するデータコントラクトは次のとおりです。
[DataContract]
public class categories_result
{
[DataMember(Name="totalResult")]
public int totalResult {get; set;}
[DataMember(Name="categories")]
public category[] results {get; set;}
}
[DataContract]
public class category
{
[DataMember(Name="categoryName")]
public string categoryName {get; set;}
[DataMember(Name="categoryIconUrl")]
public string categoryIconUrl {get; set;}
[DataMember(Name="headingName")]
public string headingName {get; set;}
}
結果として返されるカテゴリクラスに関しては、次のようになります。
- results {TrudonMobile.category[3]} TrudonMobile.category[]
- [0] {WP7proj.category} WP7proj.category
categoryIconUrl Could not evaluate expression string
categoryName Could not evaluate expression string
headingName Could not evaluate expression string
何かが足りないような気がしますが、よくわかりません。
追加した:
これは便利かもしれないので、実際に逆シリアル化しようとしているコードを追加するかもしれないと思いました:>
try
{
Stream responseStream = e.Result;
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(categories_result));
categories_result response = (categories_result)ser.ReadObject(responseStream);
}
catch (Exception x)
{
string bob = x.ToString();
return;
}