前言:公司最近遇到问题,以往C#的接口通讯都是走xml的形式,因为现在的主流接口都采用json数据格式,但c#中并没有提供特别的方法帮助开发者,解析和生成都非常麻烦,我做为一个移动端开发者,于是想到了将java的解析方法移植到c#中去,漫长的移植工作开始了,经过一段时间的努力,在java中的很多api在c#中都没有,于是乎,找类似方法进行替代,不断试验,最终完整版的json解析与生成的dll文件生成了,下载链接在下面,欢迎下载!
1.导入com.force.json.dll
(1)在项目中添加引用
(2)选择浏览按钮
(3)选择json.dll,并点击确定,此时在引用中多出json的引用
(4)在类中添加引用using com.force.json;
2.创建JSONObject
(1).使用方法如下:(创建JSONObject,并打印内容)
JSONObject json = new JSONObject();
json.put("sex", "男");
json.put("age", 123);
json.put("name", "张三");
Console.WriteLine(json.ToString());
(2).运行效果如下:
{"sex":"男","age":123,"name":"张三"}
3.创建JSONArray
(1).使用方法如下:(创建JSONObject加入到JSONArray 中,并打印内容)
JSONObject json = new JSONObject();
json.Put("sex", "男");
json.Put("age", 123);
json.Put("name", "张三");
JSONArray array = new JSONArray();
array.Put(json);
Console.WriteLine(array.ToString());
(2).运行效果如下:
[{"sex":"男","age":123,"name":"张三"}]
4.创建完整的JSON实例
(1).使用方法如下:(创建JSONObject加入到JSONArray 中,再把JSONArray 加入到JSONObject中,并打印内容)
JSONObject rootJson = new JSONObject();
JSONObject json = new JSONObject();
json.Put("sex", "男");
json.Put("age", 123);
json.Put("name", "张三");
JSONArray array = new JSONArray();
array.Put(json);
rootJson.Put("content", array);
Console.WriteLine(rootJson .ToString());
(2).运行效果如下:
{"content":[{"sex":"男","age":123,"name":"张三"}]}
5.解析JSONObject
(1).使用方法如下:(解析JSONObject的字符串类型name和整型age字段,并打印内容)
JSONObject json = new JSONObject();
json.Put("sex", "男");
json.Put("age", 123);
json.Put("name", "张三");
Console.WriteLine(json.GetString("name"));
Console.WriteLine(json.GetInt("age"));
(2).运行效果如下:
张三
123
6.解析JSONArray
(1).使用方法如下:(从JSONArray 中获取到第1项JSONObject,并解析name的值)
JSONObject json = new JSONObject();
json.Put("sex", "男");
json.Put("age", 123);
json.Put("name", "张三");
JSONArray array = new JSONArray();
array.Put(json);
Console.WriteLine(array.GetJSONObject(0).GetString("name"));
(2).运行效果如下:
张三
7.混合解析
6.解析JSONArray
(1).使用方法如下:(从JSONArray 中获取到第1项JSONObject,并解析name的值)
JSONObject json = new JSONObject("{'sex':'男','name':'张三','data':[{'book':'一本书'},{'book':'二本书'}]}");
Console.WriteLine(json.Get("sex"));
Console.WriteLine(json.Get("name"));
JSONArray datas = json.GetJSONArray("data");
Console.WriteLine(datas.GetJSONObject(0).GetString("book"));
(2).运行效果如下:
男
张三
一本书
Github开源地址:
https://github.com/CCwant/ForceJsonDLL下载地址:
http://download.csdn.net/detail/cc_want/9890365