標籤:
最近,遇到了一些不同的Json格式的資料,需要做不同處理才能轉化為想要得到的結果,這裡總結一下。
第一種形式:status中是{}形式
string json = @"{‘name‘:‘語淺意深‘,‘province‘:‘32‘,‘city‘:‘1‘,‘location‘:‘江蘇 南京‘,‘status‘:{‘created_at‘:‘Thu Feb 26 21:04:34 +0800 2015‘,‘text‘:‘哈哈‘}}";
針對以上格式的資料,建立如下的兩個結構體或類
1 public struct Status 2 { 3 public string created_at { get; set; } 4 public string text { get; set; } 5 } 6 7 public struct JsonData 8 { 9 public string name { get; set; }10 public string province { get; set; }11 public string city { get; set; }12 public string location { get; set; }13 public Status status;14 }
輸出結果:
1 JavaScriptSerializer jsSerializer=new JavaScriptSerializer();2 JsonData jd = jsSerializer.Deserialize<JsonData>(json);3 Response.Write(string.Format("name={0};province={1};city={2};location={3};status={4};",jd.name,jd.province,jd.city,jd.location,jd.status.created_at+jd.status.text));
第二種形式:status中是[]形式
string json = @"{‘name‘:‘語淺意深‘,‘province‘:‘32‘,‘city‘:‘1‘,‘location‘:‘江蘇 南京‘,‘status‘:[{‘created_at‘:‘Thu Feb 26 21:04:34 +0800 2015‘,‘text‘:‘哈哈‘}]}";
針對以上格式的資料,建立如下的兩個結構體或類
1 public struct Status 2 { 3 public string created_at { get; set; } 4 public string text { get; set; } 5 } 6 public struct JsonData2 7 { 8 public string name { get; set; } 9 public string province { get; set; }10 public string city { get; set; }11 public string location { get; set; }12 public List<Status> status;13 }
輸出結果
1 JavaScriptSerializer jsSerializer=new JavaScriptSerializer();2 JsonData2 jd = jsSerializer.Deserialize<JsonData2>(json);3 Response.Write(string.Format("name={0};province={1};city={2};location={3};status={4};",jd.name,jd.province,jd.city,jd.location,jd.status[0].created_at+jd.status[0].text));
C#解析Json格式資料小結