Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WP8中的JSON反序列化_C#_Json_Web Services - Fatal编程技术网

C# WP8中的JSON反序列化

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); }

我有一个提供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);
}

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抱歉,我想我现在明白您的意思了。我已经更新了帖子。