C#通過JObject解析json對象
更新時間:2022年07月23日 08:37:10 作者:任督二脈
這篇文章介紹了C#通過JObject解析json對象的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
一、簡單json對象
Json數(shù)據(jù):
{
"shp_flg": "0",
"fm_date": "2018-04-18T00:00:00Z",
"to_date": "2018-04-18T00:00:00Z",
"emp_no": "008",
"emp_nme_en": "Visitor 6",
"shift": "事假",
"work_time": 35,
"remark": "xyz"
}處理方式:
JObject jo = JObject.Parse(paramsStr); //paramsStr - json字符串名字
//下面是各種不同寫法,但是結(jié)果一樣
string shp_flg = jo["shp_flg"].ToString();
string fm_date = jo["fm_date"].ToString("yyyy-MM-dd");
string to_date = jo.Value<DateTime>("to_date").ToString("yyyy-MM-dd");
string emp_no = jo["emp_no"].ToString();
string shift = jo.Value<string>("shift");
int work_time = jo.Value<int>("work_time");
string remark = jo.Value<string>("remark");二、嵌套json對象
json 格式的字符串解析 格式化:
{
"input": {
"size": 193156,
"type": "image/png"
},
"output": {
"size": 59646,
"type": "image/png",
"width": 487,
"height": 284,
"ratio": 0.3088,
"url": "https://api.xxxxxx.com/output/hrqtghqtv0ab4qgv.png"
}
}json解析 嵌套格式
Newtonsoft.Json.Linq.JObject jobject = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(jsonText); decimal input_size = Convert.ToDecimal(jobject["input"]["size"]);//193156, 輸入圖片大小 string input_type = jobject["input"]["type"].ToString();// "image/png",輸入圖片類型 decimal output_size = Convert.ToDecimal(jobject["output"]["size"]);// 59646, 圖片大小 string output_type = jobject["output"]["type"].ToString();//"image/png", 圖片類型 string output_width = jobject["output"]["width"].ToString();//487, 寬度 string output_height = jobject["output"]["height"].ToString();//284, 高度 string output_ratio = jobject["output"]["ratio"].ToString();//0.3088, 壓縮率=Convert.ToString((1-0.3088)*100)+"%"; string output_url = jobject["output"]["url"].ToString();//"https://api.xxxxxx.com/output/hrqtghqtv0ab4qgv.png" WebEnh.Core.Net.HttpProc.WebClient wc = new WebEnh.Core.Net.HttpProc.WebClient(); wc.DownloadFile(output_url, download_filename);
到此這篇關(guān)于C#通過JObject解析json對象的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C#預(yù)處理指令之#line,#pragma warning 詳細解析
#line 指令可能由生成過程中的自動中間步驟使用。例如,如果行從原始的源代碼文件中移除,但是您仍希望編譯器基于文件中的原始行號生成輸出,則可以移除行,然后用 #line 模擬原始行號2014-01-01
基于不要返回null之EmptyFactory的應(yīng)用詳解
本篇文章對不要返回null之EmptyFactory進行了詳細的分析介紹,需要的朋友參考下2013-05-05

