[英]Deserializing a JSON file with c#
我的問題是我有這個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]);
這些是我保存的兩個類:
class Causali
{
public int id;
public string causaliname;
public string identificationcode;
public string expired;
}
和
class CausaliList
{
public Causali causali;
}
你能幫我解決一下嗎?
要反序列化c#中的代碼:讓我們假設您在var getContent中有數據,那么您可以使用:
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]);
注意:我強烈建議使用json.NET。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.