基于 C# 的 JSON 解析库 CsharpJson

码农软件 · 软件分类 · JSON/BSON开发包 · 2019-03-30 19:57:15

软件介绍

现有的轮子觉得不好用,又造一个,欢迎来测试提bug!

经常拿 JSON 当协议用,结果发现好多解析库,每次解析都要先定义类,想找个通用的都不是很满意。拿 JSON 当协议,会定义几种格式,这样的话要解析就得每种都定义个类,然后又没法判断哪种格式对应那个类,总之感觉难用,所以就动手写了一个。

生成 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;
        }
    }
}

 

本文地址:https://www.codercto.com/soft/d/2507.html

Internet与WWW程序设计教程(第三版)

Internet与WWW程序设计教程(第三版)

戴特尔 / 电子工业出版社 / 2005-8 / 95.00元

《Internet与WWW程序设计教程》(第3版)以大量生动、实用的示例讲述了如何编写多层的、客户/服务器的、数据密集的、基于Web的应用程序,介绍了如何使用XHTML、JavaScript、DHTML、Flash和XML建立客户端应用程序,也介绍了如何使用Web服务器(IIS、PWS和Apache)、数据库(SQL、MySQL、DBI和ADO)、ASP、Perl、CGI、Python、PHP、J......一起来看看 《Internet与WWW程序设计教程(第三版)》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具