使用Newtonsoft解析JSON数组

4

我正在处理一个项目,需要对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"}]}

以下是从Web服务获取的JSON:
以下是我的尝试方式:
    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; }
}

我想要字符串中的值,我是新手,不知道如何从JSON数组中获取这些值。 - Fahid Nadeem
@DhavalPatel 感谢您的回复,但我该如何从 "lec_no":"FA10-BCS-40","reg_no":"2","std_status":"A" 中获取这些值 FA10-BCS-40、2 和 A 呢? - Fahid Nadeem
我看到你已经发布了答案。 - Dhaval Patel
2个回答

3
RootObject ro = JsonConvert.DeserializeObject<RootObject>(strResult);

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

1
你可以使用类似这样的代码:
foreach(var item in ro.showAttendanceResult)
{
    string lec_no = item.lec_no;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接