<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          CsharpJson基于 C# 的 JSON 解析庫

          聯(lián)合創(chuàng)作 · 2023-09-21 20:15

          現(xiàn)有的輪子覺得不好用,又造一個,歡迎來測試提bug!

          經(jīng)常拿 JSON 當協(xié)議用,結(jié)果發(fā)現(xiàn)好多解析庫,每次解析都要先定義類,想找個通用的都不是很滿意。拿 JSON 當協(xié)議,會定義幾種格式,這樣的話要解析就得每種都定義個類,然后又沒法判斷哪種格式對應那個類,總之感覺難用,所以就動手寫了一個。

          生成 JSON:

          using CsharpJson;
          namespace test
          {
              class MainClass
              {
                  public static void Main(string[] args)
                  {
                      JsonObject child = new JsonObject();
                      child["china"] = "hello";
                      child["shanghai"] = 123;
                      child.Add("one", "abc");
                      child.Add("two", 12);
                      child.Add("three", 44.9);
          
                      JsonArray arr = new JsonArray();
                      arr[0] = true;
                      arr[1] = 100;
                      arr[2] = "你好";
                      arr.Add("12");
                      arr.Add(456);
                      arr.Add(false);
                      arr.Add(child);
                      JsonObject obj = new JsonObject();
                      obj.Add("中國", "china");
                      obj.Add("北京", true);
                      obj.Add("上海", 123);
                      obj.Add("NULL",null);
                      obj.Add("childobj", child);
                      obj.Add("arrayvalue", arr);
                      JsonDocument doc=new JsonDocument();
                      doc.Object=obj;
                      string val = doc.ToJson();
                      Console.WriteLine("生成的Json字符串:");
                      Console.WriteLine(val);
                  }
              }
          }

          解析 JSON:

          string data = "{\"中國\": \"china\",\"北京\": true,\"上海\": 123}";
          doc = JsonDocument.FromString(data);
          if(doc.IsObject())
          {
              JsonObject jsobj = doc.Object;
              foreach(string key in jsobj.Keys)
              {
                  switch(jsobj[key].Valuetype)
                  {
                      case JsonType.BOOL:
                          Console.WriteLine("key={0},value={1}",key,jsobj[key].ToBool());
                          break;
                      case JsonType.NUMBER:
                          Console.WriteLine("key={0},value={1}",key,jsobj[key].ToInt());
                          break;
                      case JsonType.STRING:
                          Console.WriteLine("key={0},value={1}",key,jsobj[key].ToString());
                          break;
                  }
              }
          }

           

          瀏覽 25
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  18禁免费观看网站 | 精品福利一区 | 无码一区二区三区四区 | 密挑操熟女 | 一级黄色在线电影 |