C#解析JSON数据(反序列化对象)
C#处理JSON数据的时候需要引用Newtonsoft.Json.DLL文件,这个DLL文件可以从其官方网站 https://www.newtonsoft.com/json 下载到本地,然后引入到项目里面,在需要处理的文件里引用即可。
using Newtonsoft.Json;
json对象
{
"Status": true,
"Message": "成功",
"data": "[
{
"id":"1",
"username":"邓紫棋",
"number":"20162382000",
"title":"GEM is beautiful",
"describe":"很好看呀",
"timestamp":"1564829049"
}
]"
}
ashx接收json对象
HttpRequest request = context.Request;
Stream stream = request.InputStream;
StreamReader streamReader = new StreamReader(stream);
string getJson = streamReader.ReadToEnd();//接收json对象
Analysis json = JsonConvert.DeserializeObject<Analysis>(getJson);//反序列化对象
string Status = json.Status;
string Message = json.Message;
//由于public List<DataItem> data 是一个集合,所以需要遍历集合里面的所有数据
for (int i = 0; i < rt.data.Count; i++)
{
string id = json.data[i].id;
string username = json.data[i].username;
string number = json.data[i].Statusnumber;
string describe = json.data[i].describe;
string timestamp = json.data[i].timestamp;
}
json对象的实体类Analysis.cs
public class Analysis
{
public string Status { get; set; }
public string Message { get; set; }
public List<DataItem> data { get; set; }
}
public class DataItem
{
public string id { get; set; }
public string username { get; set; }
public string number { get; set; }
public string title { get; set; }
public string describe { get; set; }
public string timestamp { get; set; }
}