1
ウェブサービスからJSON文字列を逆シリアル化したいと思います。私の問題は、(Result型の)逆シリアル化されたオブジェクトクラス配列には常に0個の項目が含まれていることです...メトロアプリケーション - JSON文字列を逆シリアル化する
しかし、webserviceは正しい文字列を返します。 私は文字列/ストリームを逆シリアル化する方法で障害が発生すると思います。
私の欠点は何ですか?
//JSON result string:
{"Results":
[{"Result":{
"Name":"Rechnung2",
"Date1":"2012-10-05",
"Item1":"50",
"Item2":"10",
"CompanyName":"Contoso",
"Description":"My description"}}]
}
[DataContract]
public class Result
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Date1 { get; set; }
[DataMember]
public string Item1 { get; set; }
[DataMember]
public string Item2 { get; set; }
[DataMember]
public string CompanyName { get; set; }
[DataMember]
public string Description { get; set; }
}
public async void GetjsonStream()
{
HttpClient client = new HttpClient();
string url = "http://localhost/test/api.php?format=json&key=12345";
HttpResponseMessage response = await client.GetAsync(url);
//ReadAsStringAsync() works fine, so I think ReadAsStreamAsync() works also fine
var str = await response.Content.ReadAsStreamAsync();
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Result[]));
//Result has always 0 items
Result[] res = (Result[])ser.ReadObject(str);
}
おかげジョン。 コードを少し修正するだけでうまくいきます。 ありがとう:-)。 ところで、私はあなたの本を読みました、素敵な説明と記事;) – user1011394