C#jsonイメージをJObjectで読み込む


一、単純jsonオブジェクト{
"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"
}var jObj = JObject.Parse(paramsStr);//paramsStr-json文字列var shp_flg = jObj.Value("shp_flg");var fm_date = jObj.Value("fm_date").ToString("yyyy-MM-dd");var to_date = jObj.Value("to_date").ToString("yyyy-MM-dd");var emp_no = jObj.Value("emp_no");var shift = jObj.Value("shift");var work_time = jObj.Value("work_time");var remark = jObj.Value("remark");
二、ネストjsonオブジェクト転自:Newtonsoft.JsonはJObjectでjson対像を読み取るのが超簡単
/*   json             
{
   "input": {
       "size": 193156, 
       "type": "image/png"
   }, 
   "output": {
       "size": 59646, 
       "type": "image/png", 
       "width": 487, 
       "height": 284, 
       "ratio": 0.3088, 
       "url": "https://api.tinify.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.tinify.com/output/hrqtghqtv0ab4qgv.png"


WebEnh.Core.Net.HttpProc.WebClient wc = new WebEnh.Core.Net.HttpProc.WebClient();
wc.DownloadFile(output_url, download_filename);