乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      C# 技巧(3) C# 操作 JSON

       昵稱10504424 2015-10-10

      RestAPI中, 經(jīng)常需要操作json字符串,  需要把json字符串"反序列化"成一個對象, 也需要把一個對象"序列化"成一字符串。

      C# 操作json,  比較簡單。  本文介紹幾種方法

       

      閱讀目錄

      1. 步驟
      2. 了解json的語法
      3. 創(chuàng)建實體類的例子
      4. 自動生成JSON的實體類
      5. 使用第三方工具 Newtonsoft.Json.dll

      步驟

      Json 字符串 反序列化成對象 共需要2步:

      第一步:建立相應(yīng)的實體類

      第二步: 調(diào)用方法把Json字符串"反序列化"成對象

      了解json的語法

      首先要了解json的語法,這樣才能知道怎么創(chuàng)建實體類.

      Json 的語法很簡單, 就四條

       

      • 數(shù)據(jù)在名稱/值對中
      • 數(shù)據(jù)由逗號分隔
      • 花括號保存對象
      • 方括號保存數(shù)組

      創(chuàng)建實體類的例子

      {"FirstName":"小坦克","LastName":"Tank","Age":30}

      相應(yīng)的實體類可以為

      復(fù)制代碼
          public class Person 
          {
              public String FirstName
              { get; set; }
      
              public String LastName
              { get; set; }
      
              public int Age
              { get; set; }
          }
      復(fù)制代碼

       

      自動生成JSON的實體類

      一個復(fù)雜的實體類,我們自己去寫的話,可能需要1個小時以上。 那有沒有工具能直接生成實體類呢,這樣能方便太多了。  當然有

      http://jsonclassgenerator./  ----開源的winform工具。

       

       

      使用第三方工具 Newtonsoft.Json.dll

      優(yōu)點:  使用非常方便.   看個例子就知道怎么用了

      下載地址   http://james./json

       

      代碼示例:

      復(fù)制代碼
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Text;
      using Newtonsoft.Json;
      
      namespace JsonDemo
      {
          class Program
          {
              static void Main(string[] args)
              {
                  string personJson = "{ 'FirstName': '小坦克','LastName':'Tank xiao', 'Age':'30', 'Books':[{'BookName':'c#', 'Price':'29.9'},{'BookName':'Mac編程', 'Price':'39.9'}]}";
      
                  string allMoveJson = @"[{ 'FirstName': '小坦克','LastName':'Tank xiao', 'Age':'30', 'Books':[{'BookName':'c#', 'Price':'29.9'},{'BookName':'Mac編程', 'Price':'39.9'}]},{
                                    'FirstName': '小坦克2','LastName':'Tank xiao2', 'Age':'40', 'Books':[{'BookName':'c#', 'Price':'29.9'},{'BookName':'Mac編程', 'Price':'39.9'}]}]";
      
                  // 反序列化 單個對象
                  Person oneMovie = JsonConvert.DeserializeObject<Person>(personJson);
      
                  // 反序列化 對象集合
                  List<Person> allMovie = JsonConvert.DeserializeObject<List<Person>>(allMoveJson);
      
                  Console.WriteLine(oneMovie.FirstName);
                  Console.WriteLine(allMovie[1].FirstName);
      
                  // 序列化
                  string afterJson = JsonConvert.SerializeObject(allMovie);
              }
          }
      
      
          public class Person
          {
              public String FirstName
              { get; set; }
      
              public String LastName
              { get; set; }
      
              public int Age
              { get; set; }
      
              public List<Book> Books
              { get; set; }
          }
      
          public class Book
          {
              public string BookName
              { get; set; }
      
              public string Price
              { get; set; }
          }
      }
      復(fù)制代碼

       

       

      附: C# 使用技巧 (連載中, 敬請期待)

      C# 技巧(1) C# 轉(zhuǎn)換時間戳

      C# 技巧(2) C# 操作 JSON

       

       

      如果您看了本篇博客,覺得對您有所收獲,請點擊右下角的 [推薦]

      如果您想轉(zhuǎn)載本博客,請注明出處

      如果您對本文有意見或者建議,歡迎留言

      感謝您的閱讀,請關(guān)注我的后續(xù)博客

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多