C# Newtonsoft.Json JObject常用方法
1、创建-用匿名对象创建 JObject JObject ob = JObject.FromObject(new { RPT_ID = "getList", pageSize = 100, auth = "myAuthCode", PARAS = new { IDCard = cardNo } }); 2、合并其他对象到属性 JObject obj = new JObject(); obj.Add("name", "张三"); obj.Add("birthday", DateTime.Now); //合并其他对象到当前对象的属性 obj.Add("content", JToken.FromObject(new { code = "zhangsan" })); 3、合并其他对象的属性,到当前对象 //合并其他 JToken token = JToken.FromObject(new { code = "zhangsan" }); JObject obj2 = JObject.FromObject(new { code = "lisi" }); obj.Merge(obj2); 4、错误的写法 直接Add对象,会抛出异常:Could not determine JSON object //直接添加对象失败:Could not determine JSON object //obj.Add(new { // code="zhangsan" //}); 5、简单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" } JObject jo = JObject.Parse(paramsStr); //paramsStr - json字符串名字 //下面是各种不同写法,但是结果一样 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"); 6、嵌套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);
凡哥,别他妈吹牛逼了
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 2 本地部署DeepSeek模型构建本地知识库+联网搜索详细步骤