C# WP8中的JSON反序列化
我有一个提供JSON对象的PHP Web服务。在我的Windows Phone 8应用程序中,我通过执行以下操作来使用该服务:C# WP8中的JSON反序列化,c#,json,web-services,C#,Json,Web Services,我有一个提供JSON对象的PHP Web服务。在我的Windows Phone 8应用程序中,我通过执行以下操作来使用该服务: public void GetSigns() { var webClient = new WebClient(); var uri = new Uri("someURL"); webClient.OpenReadCompleted += GetSigns_Completed; webClient.OpenReadAsync(uri); }
public void GetSigns()
{
var webClient = new WebClient();
var uri = new Uri("someURL");
webClient.OpenReadCompleted += GetSigns_Completed;
webClient.OpenReadAsync(uri);
}
private void GetSigns_Completed(object sender, OpenReadCompletedEventArgs e)
{
using (var sr = new StreamReader(e.Result))
{
var data = sr.ReadToEnd();
var result = JsonConvert.DeserializeObject<List<GetSignsResponse>>(data);
}
}
JSON返回以下内容:
public void GetSigns()
{
var webClient = new WebClient();
var uri = new Uri("someURL");
webClient.OpenReadCompleted += GetSigns_Completed;
webClient.OpenReadAsync(uri);
}
private void GetSigns_Completed(object sender, OpenReadCompletedEventArgs e)
{
using (var sr = new StreamReader(e.Result))
{
var data = sr.ReadToEnd();
var result = JsonConvert.DeserializeObject<List<GetSignsResponse>>(data);
}
}
Web服务返回GetSignsResponse对象的集合
知道为什么GetSigns\u Completed回调方法中的结果对象不能正常工作吗?我的GetSignsResponse对象缺少什么吗
我得到的错误是,它无法将JSON转换为GetSignsResponse列表
更新
Web服务JSON如下所示:
{
sign: {
id: "11",
online: "1",
location: "abc",
maxupdated: "2013-11-19 16:59:05",
line1: " abc ",
line2: " abc ",
line3: " abc ",
line4: " "
}
},
{
sign: {
id: "7",
online: "1",
location: "abc",
maxupdated: "2013-11-19 16:58:03",
line1: " abc ",
line2: " abc ",
line3: " abc ",
line4: " "
}
},
GetSigns\u Completed中的数据对象如下所示:
{
sign: {
id: "11",
online: "1",
location: "abc",
maxupdated: "2013-11-19 16:59:05",
line1: " abc ",
line2: " abc ",
line3: " abc ",
line4: " "
}
},
{
sign: {
id: "7",
online: "1",
location: "abc",
maxupdated: "2013-11-19 16:58:03",
line1: " abc ",
line2: " abc ",
line3: " abc ",
line4: " "
}
},
\t{\signs\:[{\sign\:{\id\:\1\,\online\:\1\,\location\:\abc\,\maxupdated\:\2013-10-05 06:29:02\,\line1\,\line2\:\,\line3\,\line4\:\},{\sign abc\:{\id\:\2\,\online\:\1\,\location\:\abc\,\maxupdated\,\2013-10-05 18:21:01\,\line1\,\line1\,\line1\,\line2\,\line2\,\lineABC\,\line4\,\line4\,\line4\}}在PHP中,JSON的形成方式是不正确的。我有:
$signs[] = array($sign);
这需要:
$signs[] = $sign;
后者是正确的,因为它在符号数组中放置了符号对象,而不是符号数组中的符号数组。json在哪里?Hi L.B.-我已经更新了原始帖子。底部部分仅包含JSON字符串中的两个对象。Subby在不知道正确的JSON而不是您发布的JSON的情况下,您希望我们如何给出正确的答案。@L.B抱歉,我想我现在明白您的意思了。我已经更新了帖子。