C#解析Json格式資料小結

來源:互聯網
上載者:User

標籤:

最近,遇到了一些不同的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格式資料小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.