Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.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# 用c反序列化JSON文件#_C#_Json_Deserialization - Fatal编程技术网

C# 用c反序列化JSON文件#

C# 用c反序列化JSON文件#,c#,json,deserialization,C#,Json,Deserialization,我的问题是 我有这个JSON文件: 我必须将它保存在一个列表中,但是当我尝试打印列表的第一个元素时,我会得到一个System.ArgumentOutOfRangeException,就好像我的列表是空的一样。这是我的代码: JavaScriptSerializer ser = new JavaScriptSerializer(); Causali o = new Causali(); List<CausaliList> list

我的问题是 我有这个JSON文件:

我必须将它保存在一个列表中,但是当我尝试打印列表的第一个元素时,我会得到一个System.ArgumentOutOfRangeException,就好像我的列表是空的一样。这是我的代码:

JavaScriptSerializer ser = new JavaScriptSerializer();            
        Causali o = new Causali();
        List<CausaliList> lista = new List<CausaliList>();
        WebRequest causali = (HttpWebRequest)WebRequest.Create("http://trackrest.cgestmobile.it/causali");
        WebResponse risposta = (HttpWebResponse)CreateCausaliRequest(causali).GetResponse();
        Stream data = risposta.GetResponseStream();
        StreamReader Leggi = new StreamReader(data);            
        string output = Leggi.ReadToEnd();
        lista = ser.Deserialize<List<CausaliList>>(output);
        lst2.Items.Add(lista[0]);


你能帮我解决吗?

要反序列化c#中的代码: 假设您在var getContent中有数据,那么您可以使用:

dynamic getDesearilize = JsonConvert.DeserializeObject(getContent);

请尝试将此作为根对象:

public class CausaliList
{
    public List<Causali> causali { get; set; }
}

注意:我强烈建议使用json.NET。

你的代码在哪里?你能在
反序列化
调用之前提供
输出
值的示例吗?(在
反序列化
行上放置一个断点,并在其中断时获取
输出
的内容)Hi。。你的代码很好。。。你可以发布你反序列化的Json字符串吗!输出有以下值:{“causali”:[{“id”:1,“causaliname”:“PERMESSI”,“identificationcode”:“PR”,“expired”:“2050-12-31”},{“id”:2,“causaliname”:“infortiono”,“identificationcode”:“IN”,“expired”:“2050-12-31”},{“id”:3,“causaliname”:“permeso-ESAMI”,“identificationcode”:“PE”,“expired”:“2050-12-31”}这不起作用,我的列表仍然有0个元素,我不知道为什么@LorenzoValenti请发布您的输出。谢谢。很高兴我能帮上忙。
dynamic getDesearilize = JsonConvert.DeserializeObject(getContent);
public class CausaliList
{
    public List<Causali> causali { get; set; }
}
lista = ser.Deserialize<CausaliList>(output); 
lst2.Items.Add(lista.causali[0]);