//引用序列化、反序列化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