Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.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# JSON.NET将对象反序列化到对象列表_C#_Windows Store Apps_Json.net_Windows Phone 8.1 - Fatal编程技术网

C# JSON.NET将对象反序列化到对象列表

C# JSON.NET将对象反序列化到对象列表,c#,windows-store-apps,json.net,windows-phone-8.1,C#,Windows Store Apps,Json.net,Windows Phone 8.1,我正在尝试使用JSON.NET库将对象反序列化为对象列表。我的json文件是: [ { "id": 1, "name": "Poczta", "description": "Opis", "latitude": 52.25197, "longitude": 20.896355, "accuracy": 0, "type": "", "image": null }, { "id": 2, "name": "WAT",

我正在尝试使用JSON.NET库将对象反序列化为对象列表。我的json文件是:

[
{
    "id": 1,
    "name": "Poczta",
    "description": "Opis",
    "latitude": 52.25197,
    "longitude": 20.896355,
    "accuracy": 0,
    "type": "",
    "image": null
},
{
    "id": 2,
    "name": "WAT",
    "description": "Budynek główny - sztab.\r\nzażółć gęślą jaźń",
    "latitude": 52.2531213,
    "longitude": 20.8995849,
    "accuracy": 0,
    "type": "Uczelnia",
    "image": null
},
{
    "id": 3,
    "name": "Przychodnia",
    "description": "Opis",
    "latitude": 52.250808,
    "longitude": 20.895348,
    "accuracy": 0,
    "type": "",
    "image": null
},
{
    "id": 4,
    "name": "DS3",
    "description": "Opis",
    "latitude": 52.250063,
    "longitude": 20.895847,
    "accuracy": 0,
    "type": "",
    "image": null
},
{
    "id": 5,
    "name": "DS2",
    "description": "Opis",
    "latitude": 52.2497674,
    "longitude": 20.8966583,
    "accuracy": 0,
    "type": "",
    "image": null
},
{
    "id": 6,
    "name": "DS1",
    "description": "Opis",
    "latitude": 52.25088,
    "longitude": 20.897492,
    "accuracy": 0,
    "type": "",
    "image": null
},
{
    "id": 7,
    "name": "DS4",
    "description": "To jest opis",
    "latitude": 52.2539982,
    "longitude": 20.8971716,
    "accuracy": 0,
    "type": "",
    "image": null
},
{
    "id": 15,
    "name": "a",
    "description": "b",
    "latitude": 52.250105,
    "longitude": 20.896124,
    "accuracy": 0,
    "type": "Uczelnia",
    "image": null
}
]
我写了一些代码来实现这一点,但它不起作用。我尝试了很多选项,比如动态反序列化,现在我尝试制作一个列表

    async private void webServiceGetPoints()
    {
        try
        {
            var client = new HttpClient();
            var response = await client.GetAsync(new Uri("\\private\\"));
            var result = await response.Content.ReadAsStringAsync();


            List<WebServiceTag> convert = JsonConvert.DeserializeObject<List<WebServiceTag>>(result) as List<WebServiceTag>;

            Debug.WriteLine(convert.Count);
        }
        catch (JsonSerializationException jsonerr)
        {
            Debug.WriteLine(jsonerr.ToString());
        }
        catch (Exception e)
        {
            Debug.WriteLine(e.ToString());
        }
    }

我发现尝试使用:

JsonConvert.DeserializeObject<List<T>>()
JsonConvert.DeserializeObject()
这对我不起作用。我发现这反而奏效了

JsonConvert.DeserializeObject<IEnumerable<T>>()
JsonConvert.DeserializeObject()

希望迟回答总比不回答好。

回复身体类>>

    public class RestResponse
    {
        public string status { get; set; }
    }
后车身类>>>

    class Customer_List
    {
       public string phone { get; set; }
    }
无效>>>>

        Customer_List send= new Customer_List
        {
            phone= "***"
        };
        //
        string json = JsonConvert.SerializeObject(send);  
        //
        var client = new RestClient("http://localhost:1959/***");
        var request = new RestRequest();
        //
        request.Method = Method.POST;
        request.AddHeader("Accept", "application/json");
        request.Parameters.Clear();
        request.AddParameter("application/json", json, 
        ParameterType.RequestBody);
        //
        var response = client.Execute(request);
        var content = response.Content;
这是我的答案

      var resp = JsonConvert.DeserializeObject<List<RestResponse>>(content);
var resp=JsonConvert.DeserializeObject(内容);

什么不起作用?你有一个具体的错误信息吗?无法重编-它的作品很好,我希望我可以投票这不止一次。我已经在谷歌上搜索了至少一个小时,寻找解决我问题的方法,效果很好。非常感谢。谢谢你。IEnumerable上的拼写错误,但最后还有一个.ToList()使其符合我需要的格式。另外,请参阅本文。
      var resp = JsonConvert.DeserializeObject<List<RestResponse>>(content);