CsharpJson 基于 C# 的 JSON 解析库开源项目

我要开发同款
匿名用户2017年06月25日
45阅读
开发技术C#
所属分类Web应用开发、JSON/BSON开发包
授权协议GPL

作品详情

现有的轮子觉得不好用,又造一个,欢迎来测试提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;        }    }}

 

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论