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