//序列化
string Json字符串 = JsonConvert.SerializeObject(目标对象);
// 字符串转化为对象
string UserJson = "{"UNO":"1"," + " "UName":"龙"," + " "Uage":"21"," + " "Uaddress":"中国"," + " "Uphone":"151 3692 3546"}"; User Data = JsonConvert.DeserializeObject<User>(UserJson);
//json字符串 转化为List集合
string jsonText = "{ "Total":"0"," + " "Rows":" + "[" + "{"UNO":"1"," + ""UName":"龙"," + ""Uage":"21"," + ""Uaddress":"中国!"," + ""Uphone":"151 3692 3546"}," + "{"UNO":"1"," + ""UName":"龙"," + ""Uage":"21"," + ""Uaddress":"中国!"," + ""Uphone":"151 3692 3546"}" + "]}"; //获取索引 int IndexofA = jsonText.IndexOf("["); int IndexofB = jsonText.IndexOf("]"); //根据索引截取 string str = jsonText.Substring(IndexofA, IndexofB - IndexofA + 1); //序列化 List<User> objs = JsonConvert.DeserializeObject<List<User>>(str);
//Json字符串 转化成 DataTable
string Stringjson = "{ "Total":"0"," + " "Rows":" + "[" + "{"UNO":"1"," + ""UName":"龙"," + ""Uage":"21"," + ""Uaddress":"中国!"," + ""Uphone":"151 3692 3546"}," + "{"UNO":"1"," + ""UName":"龙"," + ""Uage":"21"," + ""Uaddress":"中国!"," + ""Uphone":"151 3692 3546"}" + "]}"; //获取索引 int IndexofArrayListA = jsonText.IndexOf("["); int IndexofArrayListB = jsonText.IndexOf("]"); //根据索引截取 string JsonString = Stringjson.Substring(IndexofArrayListA, IndexofArrayListB - IndexofArrayListA + 1); List<User> obj = JsonConvert.DeserializeObject<List<User>>(JsonString); System.ComponentModel.PropertyDescriptorCollection properties = System.ComponentModel.TypeDescriptor.GetProperties(typeof(User)); DataTable dt = new DataTable(); for (int i = 0; i < properties.Count; i++) { System.ComponentModel.PropertyDescriptor property = properties[i]; dt.Columns.Add(property.Name, property.PropertyType); } object[] values = new object[properties.Count]; foreach (User item in obj) { for (int i = 0; i < values.Length; i++) { values[i] = properties[i].GetValue(item); } dt.Rows.Add(values); }
//实体对象
/// <summary> /// 实体对象 /// </summary> public class User { public string UNO { get; set; } public string UName { get; set; } public string Uage { get; set; } public string Uaddress { get; set; } public string Uphone { get; set; } }