C#使用JObject

string JsonStr;

JObject obj = new JObject();

obj"sn" = "ABCDEF";

obj"machineNo" = "sddfgf";

obj"projectNo" = "sdvgfdbgf";

obj"testStation" = "IR/CR";

obj"testTime" = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

obj"testType" = 1;

obj"procType" = 3;

obj"machType" = 7;

obj"testDetails" = new JArray

{

new JObject

{

"itemResult" = true,

"testItem" = "阻值",

"testValue" = 100000

},

};

JArray details = (JArray)obj"testDetails";

obj"testResult" = details.All(item => (bool)item"itemResult");

//实际传输时使用

JsonStr = obj.ToString();

//打印到TextBox时使用

//JsonStr = obj.ToString(Newtonsoft.Json.Formatting.Indented);

Console.WriteLine("生成JSON:\n" + JsonStr);

//反学序列化解析

JObject jobj = JObject.Parse(JsonStr);

//必须使用动态类型。

dynamic data = jobj;

Type tokenType = data.sn.GetType();

Console.WriteLine($"【data.sn 本体对象类型】:{tokenType.FullName}");

// 2. 取出内部真实数据值,再打印原生数据类型

object realValue = data.sn.Value;

Console.WriteLine($"【JValue内部存储数据类型】:{realValue.GetType().FullName}");

// 3. 赋值给string变量后的类型(经过隐式转换)

string snStr = data.sn;

Console.WriteLine($"【赋值给string变量后的类型】:{snStr.GetType().FullName}");

}

C# 使用JObject创建Json比较方便 无需创建实体类。反序列化时借助dynamic

相关推荐
CoderYanger2 分钟前
Java EE 进阶:4.Spring Web MVC 入门(第一弹)
java·开发语言·前端·spring·面试·java-ee·mvc
估值探索者16 分钟前
【Python量化选股流水线 #04】选股器好不好用?「昨日候选→今日表现」回看验收
开发语言·python·股票数据·股票数据api接口
爱喝热水的呀哈喽1 小时前
HEJIAN RESEARCH
开发语言·matlab
白露与泡影1 小时前
后端 Java 面试核心八股汇总|高频面试题 + 解析,覆盖基础到进阶
java·开发语言·面试
xifangge20251 小时前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript
“AI国潮设计-小江”2 小时前
【AIGC实战】Python+SDXL批量生成「潮汕英歌舞冰淇淋蛋糕&红桃粿咖啡」IP,固定角色形象批量出甜品商业效果图
开发语言·人工智能·python·prompt·aigc
\光辉岁月/2 小时前
3.包装类
java·开发语言·包装类
波力海苔夹心脆6752 小时前
VisionMaster 两级位置修正实战:塑料外壳与金属件装配角度检测
经验分享·计算机视觉·c#·visionmaster·海康机器人·位置修正
FRing033 小时前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
西索斯coding3 小时前
Grok 4.7 调用一直 401 怎么办?不是 Key 过期,是 Authorization 头格式问题——排查全流程 + 修复示例
服务器·开发语言·ai·php