//引用序列化、反序列化JSON字符串用到的空间 using Newtonsoft.Json; using Newtonsoft.Json.Linq; //定义一个JSON字符串 string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]"; //反序列化JSON字符串 JArray ja =(JArray) JsonConvert.DeserializeObject(jsonText); //将反序列化的JSON字符串转换成对象 JObject o = (JObject)ja[1]; //读取对象中的各项值 Console.WriteLine(o["a"]); Console.WriteLine(ja[1]["a"]);
先添加一个类,定义一个对象json
using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> ///Customer 的摘要说明 /// </summary> public class Customer { //在序列化先后没有变更 public string a { get; set; } //在序列化先后设置和重置 public string b { get; set; } //设置为null,但在序列化后填充 public string c { get; set; } public string Other { get; set; } public Customer() { // //TODO: 在此处添加构造函数逻辑 // a = ""; b = ""; c = ""; Other = null; } }
反序列化JSON字符串c#
//引用序列化、反序列化JSON字符串用到的空间 using Newtonsoft.Json; using Newtonsoft.Json.Linq; //定义一个JSON字符串 string jsonText = "[{'a':'aaa','b':'bbb','c':'ccc'},{'a':'aaa2','b':'bbb2','c':'ccc2'}]"; //反序列化JSON字符串,将JSON字符串转换成LIST列表 List<Customer> _list = JsonConvert.DeserializeObject<List<Customer>>(jsonText); //读取列表中的值 Console.WriteLine(_list[1].a); foreach (Customer c in _list) { Console.WriteLine(c.c); }
先添加一个类,定义一个对象
函数
using System; using System.Collections.Generic; using System.Linq; using System.Web; public class JobInfo { public string TaskRoleSpaces { get; set; } public string TaskRoles { get; set; } public string ProxyUserID { get; set; } public string UserID { get; set; } public string UserName { get; set; } public string UserSystemName { get; set; } public string OperationName { get; set; } public string OperationValue { get; set; } public string OperationValueText { get; set; } public DateTime SignDate { get; set; } public string Comment { get; set; } public string FormDataHashCode { get; set; } public string SignatureDivID { get; set; } }
反序列化JSON字符串
工具
using Newtonsoft.Json; using Newtonsoft.Json.Linq; string json = @"[{'TaskRoleSpaces':'','TaskRoles':'','ProxyUserID':'5d9ad5dc1c5e494db1d1b4d8d79b60a7','UserID':'5d9ad5dc1c5e494db1d1b4d8d79b60a7','UserName':'姓名','UserSystemName':'2234','OperationName':'送合同负责人','OperationValue':'赞成','OperationValueText':'','SignDate':'2013-06-19 10:31:26','Comment':'赞成','FormDataHashCode':'','SignatureDivID':''},{'TaskRoleSpaces':'','TaskRoles':'','ProxyUserID':'2c96c3943826ea93013826eafe6d0089','UserID':'2c96c3943826ea93013826eafe6d0089','UserName':'姓名2','UserSystemName':'1234','OperationName':'送合同负责人','OperationValue':'赞成','OperationValueText':'','SignDate':'2013-06-20 09:37:11','Comment':'赞成','FormDataHashCode':'','SignatureDivID':''}]"; List<JobInfo> jobInfoList = JsonConvert.DeserializeObject<List<JobInfo>>(json); foreach (JobInfo jobInfo in jobInfoList) { Console.WriteLine("UserName:" + jobInfo.UserName + "UserID:" + jobInfo.UserID); }
须要借助了Newtonsoft.Json.dll这个工具spa