c# Json转C#实体

1.Web Api获取 Json数据:

{ "code": 200, "message": "success", "data": { "Barcode": { "BarcodeNo": "YS5193465232200001", "WorkOrder": "N102304065", "ItemNo": "95.56.Z02.11000001", "PlanQty": 90 }, "Parts": [ { "PartDesc": "主板", "PartSn": "AL232300081", "CreateDate": "2023-05-30 10:09:15" }, { "PartDesc": "MAC2", "PartSn": "00073EABC43C", "CreateDate": "2023-05-30 10:09:15" }, { "PartDesc": "MAC", "PartSn": "00073EABC43C", "CreateDate": "2023-05-30 10:09:15" }, { "PartDesc": "硬盘", "PartSn": "323571903BA", "CreateDate": "2023-05-30 10:09:15" }, { "PartDesc": "内存条", "PartSn": "2312121901244", "CreateDate": "2023-05-30 10:09:15" } ], "Stations": [ { "LineDesc": "Line 03", "WorkStationDesc": "前测", "Status": "Pass", "CreateDate": "2023-05-30 17:14:06" }, { "LineDesc": "Line 03", "WorkStationDesc": "老化", "Status": "Pass", "CreateDate": "2023-06-05 11:03:30" }, { "LineDesc": "Line 01", "WorkStationDesc": "外观", "Status": "Pass", "CreateDate": "2023-06-06 19:37:17" }, { "LineDesc": "Line 03", "WorkStationDesc": "组装1", "Status": "Pass", "CreateDate": "2023-05-30 10:09:15" }, { "LineDesc": "Line 03", "WorkStationDesc": "包装3", "Status": "Pass", "CreateDate": "2023-06-13 19:54:32" } ] }, "time": "2023-10-28 23:06:22" }

2.将Json转C#实体类网址:JSON转C#实体类-BeJSON.com

转换后的实体类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ServerSide.Models
{//如果好用,请收藏地址,帮忙分享。public class Barcode{/// <summary>/// /// </summary>public string ?BarcodeNo { get; set; }/// <summary>/// /// </summary>public string ?WorkOrder { get; set; }/// <summary>/// /// </summary>public string ?ItemNo { get; set; }/// <summary>/// /// </summary>public int ?PlanQty { get; set; }}public class PartsItem{/// <summary>/// 机箱/// </summary>public string? PartDesc { get; set; }/// <summary>/// /// </summary>public string ?PartSn { get; set; }/// <summary>/// /// </summary>public string ?CreateDate { get; set; }}public class StationsItem{/// <summary>/// /// </summary>public string ?LineDesc { get; set; }/// <summary>/// 前测/// </summary>public string ?WorkStationDesc { get; set; }/// <summary>/// /// </summary>public string ?Status { get; set; }/// <summary>/// /// </summary>public string ?CreateDate { get; set; }}public class Data{/// <summary>/// /// </summary>public Barcode ?Barcode { get; set; }/// <summary>/// /// </summary>public List<PartsItem> ?Parts { get; set; }/// <summary>/// /// </summary>public List<StationsItem> ?Stations { get; set; }}public class Root{/// <summary>/// /// </summary>public int ?code { get; set; }/// <summary>/// /// </summary>public string ?message { get; set; }/// <summary>/// /// </summary>public Data ?data { get; set; }/// <summary>/// /// </summary>public string ?time { get; set; }}
}

代码实现:引用库文件:using Newtonsoft.Json;

        public bool GetBarcodeInfo(string strSN){string retString = string.Empty;string url = $@"{this.webApiPort}MesApi/api/Product/GetBarcodeInfo";//List<string> MESMAC = new List<string>();try{HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "?barcodeNo=" + strSN);request.Proxy = null;request.KeepAlive = false;request.Method = "GET";request.ContentType = "application/json; charset=UTF-8";request.AutomaticDecompression = DecompressionMethods.GZip;HttpWebResponse response = (HttpWebResponse)request.GetResponse();string encoding = response.ContentEncoding;if (encoding == null || encoding.Length < 1){encoding = "UTF-8"; //默认编码  }StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(encoding));retString = reader.ReadToEnd();//读取SN 绑定数据// 添加代码Newtonsoft.Json.Linq.JObject resInfo = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(retString)!;//this.barcodeInfo = new Barcode();this.barcodeInfo = JsonConvert.DeserializeObject<Root>(resInfo.ToString())!; //JsonConvert.DeserializeObject<Barcode>(resInfo.ToString())!;//if (resInfo["code"]!.ToString()=="200")if (this.barcodeInfo.code.ToString()=="200"){barCodeInfoEntity = new BarCodeInfoEntity();barCodeInfoEntity.BarcodeNo = strSN;barCodeInfoEntity.WorkOrder = this.barcodeInfo!.data!.Barcode!.WorkOrder!.ToString();barCodeInfoEntity.ItemNo = this.barcodeInfo!.data!.Barcode!.ItemNo!.ToString();barCodeInfoEntity.Total_Number = Convert.ToInt32(this!.barcodeInfo!.data!.Barcode!.PlanQty!.ToString());for(int i = 0; i <this!.barcodeInfo!.data!.Parts!.Count();i++){if (this!.barcodeInfo!.data!.Parts![i]!.PartDesc!.ToString().Contains("主板"))barCodeInfoEntity.PartSn = this!.barcodeInfo!.data!.Parts![i]!.PartSn!.ToString();else if (this!.barcodeInfo!.data!.Parts![i]!.PartDesc!.ToString().Contains("硬盘"))barCodeInfoEntity.Hddinfo = this!.barcodeInfo!.data!.Parts![i]!.PartSn!.ToString();else if (this!.barcodeInfo!.data!.Parts![i]!.PartDesc!.ToString().Contains("内存条"))barCodeInfoEntity.Memoryinfo = this!.barcodeInfo!.data!.Parts![i]!.PartSn!.ToString();else if (this!.barcodeInfo!.data!.Parts![i]!.PartDesc!.ToString().Contains("MAC"))barCodeInfoEntity.MacAddresss += this!.barcodeInfo!.data!.Parts![i]!.PartSn!.ToString() + ",";else if (this!.barcodeInfo!.data!.Parts![i]!.PartDesc!.ToString().Contains("CMEI"))barCodeInfoEntity.Cmei = this!.barcodeInfo!.data!.Parts![i]!.PartSn!.ToString();else if (this!.barcodeInfo!.data!.Parts![i]!.PartDesc!.ToString().Contains("WIFI"))barCodeInfoEntity.WIFI = this!.barcodeInfo!.data!.Parts![i]!.PartSn!.ToString();}if (barCodeInfoEntity != null)barCodeInfoEntity.MacAddresss = barCodeInfoEntity?.MacAddresss?.Trim(',');return true;}else{this.err =this!.barcodeInfo!.message!.ToString();return false;}}catch (Exception ex){this.err = "Mes读取数据错误:" + ex.Message;return false;}}#endregion

Json转换实体的代码:

 Newtonsoft.Json.Linq.JObject resInfo = (Newtonsoft.Json.Linq.JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(retString)!;
this.barcodeInfo = JsonConvert.DeserializeObject<Root>(resInfo.ToString())!;

a>.实体转换成Json利用JsonConvert.SerializeObject 将Barcode转换成Json

b>.Json转换成实体利用JsonConvert.DeserializeObject 将Json装换成对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/122266.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AWS SAP-C02教程11-解决方案

本章中,会根据一些常见场景的解决方案或者AWS的某一方面的总结,带你了解AWS各个组件之间的配合使用、如何在解决方案中选择组件以及如何避开其本身限制实现需求。 目录 1 处理高并发解决方案(Handing Extreme Rates)2 日志管理(AWS Managed Logs)3 部署解决方案(Deploy…

定日镜系统风致振动特性检测系统研究

摘 要 由于国内人民生活水平的提高&#xff0c;科技不断地进步&#xff0c;控制不断地完善&#xff0c;从而促使定日镜成为各种旋转机械行业的主导。随着现代机械朝着高性能、自动化、规模化的革新&#xff0c;定日镜被普遍应用咋各式各样的大型机械和光伏发电上&#xff0c;特…

软考 系统架构设计师系列知识点之设计模式(8)

接前一篇文章&#xff1a;软考 系统架构设计师系列知识点之设计模式&#xff08;7&#xff09; 所属章节&#xff1a; 老版&#xff08;第一版&#xff09;教材 第7章. 设计模式 第2节. 设计模式实例 相关试题 5. 创建型模式支持对象的创建&#xff0c;该模式允许在系统中创…

JAVA实现智能停车场管理系统 开源

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容A. 车主端功能B. 停车工作人员功能C. 系统管理员功能1. 停车位模块2. 车辆模块3. 停车记录模块4. IC卡模块5. IC卡挂失模块 三、界面展示3.1 登录注册3.2 车辆模块3.3 停车位模块3.4 停车数据模块3.5 IC卡档案模块3.6 IC卡挂…

PPT文档图片设计素材资源下载站模板源码/织梦内核(带用户中心+VIP充值系统+安装教程)

源码简介&#xff1a; PPT文档图片设计素材资源下载站模板源码&#xff0c;作为织梦内核素材资源下载站源码&#xff0c;它自带了用户中心和VIP充值系统&#xff0c;也有安装教程。 织梦最新内核开发的模板&#xff0c;该模板属于素材下载、文档下载、图库下载、PPT下载、办公…

Go学习第十三章——Gin入门与路由

Go web框架——Gin入门与路由 1 Gin框架介绍1.1 基础介绍1.2 安装Gin1.3 快速使用 2 路由2.1 基本路由GET请求POST请求 2.2 路由参数2.3 路由分组基本分组带中间件的分组 2.4 重定向 1 Gin框架介绍 github链接&#xff1a;https://github.com/gin-gonic/gin 中文文档&#xf…

【计算机视觉】相机

文章目录 一、原始的相机&#xff1a;针孔相机&#xff08;Pinhole Camera&#xff09;二、针孔相机的数学模型三、真实相机四、透镜的缺陷 我的《计算机视觉》系列参考UC Berkeley的CS180课程&#xff0c;PPT可以在课程主页看到。 成像原理 一、原始的相机&#xff1a;针孔相机…

Conda

Conda 是一个开源的软件包管理系统和环境管理系统&#xff0c;用于安装多个版本的软件包及其依赖关系&#xff0c;并在它们之间轻松切换。它不仅仅是 Python 的包管理器&#xff0c;而是一个通用的包管理器&#xff0c;当初设计时被用来管理任何语言的包。 Conda 的主要功能是…

Spring boot定时任务

目录 前言一、使用 Scheduled 注解二、使用 ScheduledExecutorService三、使用 Spring 的 TaskScheduler四、使用第三方调度框架 前言 在 Spring Boot 中&#xff0c;有多种方法来编写定时任务&#xff0c;以执行周期性或延迟执行的任务。下面是几种常见的方式 一、使用 Sche…

【深度学习】吴恩达课程笔记(一)——深度学习概论、神经网络基础

笔记为自我总结整理的学习笔记&#xff0c;若有错误欢迎指出哟~ 吴恩达课程笔记——深度学习概论、神经网络基础 一、概念区别1.深度学习与机器学习2.深度学习与神经网络 二、什么是神经网络1.分类2.特点3.工作原理4.神经网络示意图5.神经网络进行监督学习6.深度学习的发展 三、…

力扣:143. 重排链表(Python3)

题目&#xff1a; 给定一个单链表 L 的头节点 head &#xff0c;单链表 L 表示为&#xff1a; L0 → L1 → … → Ln - 1 → Ln请将其重新排列后变为&#xff1a; L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值&#xff0c;而是需要实际的进…

亚信科技:发挥自我优势深入AIGC,并购整合高瞻远瞩致力未来路

【科技明说 &#xff5c; 重磅专题】 亚信科技在IT提供商领域中是一个低调的前行者&#xff0c;在全球通信及大型企业市场中扮演着重要的角色。对于近年来如火如荼AI方面的投入与研究&#xff0c;亚信科技是否也很重视呢&#xff1f; 事实上&#xff0c;是肯定的回答。 在我看…

人脸识别测试数据分析

一个人脸识别研究小组对若干名学生做了人脸识别的测试&#xff0c;将测试结果写入到一个文件 dir_50.txt 中&#xff0c;每一行是一张照片的识别结果“_照片编号”“.jpg”的字符串组合&#xff0c;示例如下&#xff1a; [1709020621, 0]_116.jpg [1709020621]_115.jpg [17706…

一文详解汽车电子CAN总线

0.什么是CAN总线 CAN总线(控制器区域网络)是一个中央网络系统&#xff0c;连接不同的电子控制单元(ECU)以及车辆中的其他设备。现在的汽车可以有100个ECU&#xff0c;因此CAN总线通信变得非常重要。 1.CAN总线流行的背景 集中式:CAN总线系统允许对连接到网络的ECU进行集中控制…

Android开发知识学习——HTTP基础

文章目录 学习资源来自&#xff1a;扔物线HTTPHTTP到底是什么HTTP的工作方式URL ->HTTP报文List itemHTTP的工作方式请求报文格式&#xff1a;Request响应报文格式&#xff1a;ResponseHTTP的请求方法状态码 HeaderHostContent-TypeContent-LengthTransfer: chunked (分块传…

el-table多选表格 实现默认选中 删除选中列表取消勾选等联动效果

实现效果如下&#xff1a; 代码如下&#xff1a; <template><div><el-tableref"multipleTable":data"tableData"tooltip-effect"dark"style"width: 100%"selection-change"handleSelectionChange"><…

Flutter笔记:完全基于Flutter绘图技术绘制一个精美的Dash图标(下)

Flutter笔记 完全基于Flutter绘图技术绘制一个精美的Dart吉祥物Dash 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550263/arti…

JVM常见的垃圾回收器(详细)

1、Young为年轻代出发的垃圾回收器。 2、Old为老触发的垃圾回收器。 3、连线代表的是垃圾回收器的组合。CMS 和Serial Old连线代表CMS一旦不行了&#xff0c;Serial Old上场。 首先了解一个概念&#xff1a;STW 1、什么是STW&#xff1f; STW是Stop-The-World缩写: 是在垃圾回…

即时编译器JIT

类编译加载执行过程 如下图所示&#xff0c;一个Java代码从编译到运行大抵会经历以下几个过程。具体每个过程笔者会在下文站展开讨论。 类编译 首先是类编译阶段&#xff0c;这个阶段会将Java文件变为class文件&#xff0c;这个class文件包含一个常量池和方法表集合&#xf…

【100天精通Python】Day72:Python可视化_一文掌握Seaborn库的使用《二》_分类数据可视化,线性模型和参数拟合的可视化,示例+代码

目录 1. 分类数据的可视化 1.1 类别散点图&#xff08;Categorical Scatter Plot&#xff09; 1.2 类别分布图&#xff08;Categorical Distribution Plot&#xff09; 1.3 类别估计图&#xff08;Categorical Estimate Plot&#xff09; 1.4 类别单变量图&#xff08;Cat…