[C#]JSONObject解析json,C# asp.net JSON解析
阿新 • • 發佈:2019-02-08
前言:公司最近遇到問題,以往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