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

相关推荐
IT爱学堂15 小时前
尚硅谷Java+AI大模型应用开发革新版本 2025年3月
java·开发语言·人工智能
C++ 老炮儿的技术栈15 小时前
Qt5.9.1 Windows 完整开发环境搭建流程
开发语言·c++·windows·qt·编辑器·代码化
xcLeigh15 小时前
Go入门:无类型常量与类型常量的区别
服务器·开发语言·golang
泡沫冰@15 小时前
GO 语言基础
开发语言·算法·golang
键盘会跳舞16 小时前
C++:std::tuple 源码级深度拆解——变参模板、SFINAE与模板元编程核心技巧
开发语言·c++·sfinae·变参模板
东华万里16 小时前
第40篇C++核心基础与工程实践:从底层逻辑到避坑指南
开发语言·c++·面试·大学生专区
wuyk55516 小时前
第 6 章 FOC 完整系统整合:从算法到真机跑起来
c语言·开发语言·stm32·单片机·嵌入式硬件
慧都小妮子16 小时前
C# 实现AI合同审查:从读取、风险标注到批量签发
ai·自然语言处理·c#·.net·办公自动化·ai合同审查·文档ai代理
luj_176816 小时前
元设计的诱惑与现实
c语言·开发语言·c++·经验分享·算法