使用Newtonsoft解析JSON数组

本文关键字:数组 JSON 解析 Newtonsoft 使用 | 更新日期: 2023-09-27 18:10:08

我正在做一个项目,我想反序列化 JSON数组。我已经尝试过,但没有得到如何解析它。

JSON数组:

{"showAttendanceResult":[{"lec_no":"FA10-BCS-40","reg_no":"2","std_status":"A","std_username":"fahidnadeem"},{"lec_no":"FA10-BCS-4","reg_no":"2","std_status":"A","std_username":"muneebamjad"}]}

这是我从WebService得到的JSON:

How I Tried:

    string URL = "http://localhost:32319/ServiceEmployeeLogin.svc/getattendance";
    WebRequest wrGETURL;
    wrGETURL = WebRequest.Create(URL + "/" + Server.UrlEncode("24-06-2014"));
    wrGETURL.Method = "POST";
    wrGETURL.ContentType = @"application/json; charset=utf-8";
    HttpWebResponse webresponse = wrGETURL.GetResponse() as HttpWebResponse;
    Encoding enc = System.Text.Encoding.GetEncoding("utf-8");
    // read response stream from response object
    StreamReader loResponseStream = new StreamReader(webresponse.GetResponseStream(), enc);
    // read string from stream data
    strResult = loResponseStream.ReadToEnd();
    // close the stream object
    loResponseStream.Close();
    // close the response object
    webresponse.Close();
    RootObject ro = JsonConvert.DeserializeObject<RootObject>(strResult);
    //what to do now?
    }
}
public class ShowAttendanceResult
{
    public string lec_no { get; set; }
    public string reg_no { get; set; }
    public string std_status { get; set; }
    public string std_username { get; set; }
}
public class RootObject
{
    public List<ShowAttendanceResult> showAttendanceResult { get; set; }
}

使用Newtonsoft解析JSON数组

RootObject ro = JsonConvert.DeserializeObject<RootObject>(strResult);
foreach(var item in ro.showAttendanceResult)
{
    string _name= item.lec_no;
}

你可以这样写:

foreach(var item in ro.showAttendanceResult)
{
    string lec_no = item.lec_no;
}