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

相关推荐
典典分享指南2 小时前
一品牌多产品线的 GEO 内容矩阵:从策略到落地
java·c#·bash·symfony
广州灵眸科技有限公司3 小时前
从手动三步到上电即连:4G模组systemd开机自连方案
linux·运维·服务器·开发语言·网络·人工智能·php
今夜有雨.3 小时前
C# 学习文档(零基础入门)
开发语言·学习·c#
软件黑马王子3 小时前
14.事件中心:主要作用和原理
开发语言·前端框架·c#
君顾13 小时前
酒吧点餐小程序系统开发实战:从架构设计到上线全流程指南
java·开发语言·酒吧
似水এ᭄往昔4 小时前
【Qt】--常用控件(显示类控件)
开发语言·qt
PHP实战开发录4 小时前
PHP文件上传成功为什么页面却找不到
开发语言·nginx·php·开发
云小逸5 小时前
C++ 第一阶段:对象、内存与生命周期
开发语言·c++
玖玥拾5 小时前
Lua 基础语法(二)
开发语言·unity·lua