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

相关推荐
国科安芯1 小时前
FreeRTOS RISC-V 浮点上下文切换移植:在 IAR 工程中完整保存 FPU 寄存器
java·开发语言·单片机·嵌入式硬件·算法·系统架构·risc-v
霸道流氓气质3 小时前
Java中集成Smile 技术教程:从入门到工程实践
java·开发语言
BerrySen1783 小时前
迈向 Next-Gen Java:企业级高并发架构演进与大模型 Agent 落地深度实战
java·开发语言·架构
Nebula_g4 小时前
Java实现本地Socket通信(三)
java·开发语言·学习·socket·可视化
一水4 小时前
java运行排错,新码旧jar
java·开发语言·jar
Python+994 小时前
Java 编程语言入门指南
java·开发语言
Wang's Blog5 小时前
Go-Zero项目开发40: 基于Jaeger的分布式链路跟踪实战
开发语言·分布式·golang
程序喵大人5 小时前
【C++进阶】STL容器与迭代器 - 05 map 和 set 为什么按键保持有序
开发语言·c++·容器·迭代器·stl
完美火龙篇 四月的友5 小时前
SkillOpt 架构拆解:把 Skill 文本当参数,用执行轨迹训练 Agent
开发语言·php