c# 生成json字符串和解析json字符串处理
时间:2021-07-22
本文章向大家介绍c# 生成json字符串和解析json字符串处理,主要包括c# 生成json字符串和解析json字符串处理使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一.c# 生成json字符串
1.1 datatable生成json字符串
[HttpGet] [Route("api/QueryPlasmaInfo")] public HttpResponseMessage QueryPlasmaInfo(string project) { project = project.Trim(); JsonData jd = new JsonData(); DataTable dt = checkInplanservice.GetPlasmaInfoTable(project); //OBJ转化成JSON //var datajson = JsonConvert.SerializeObject(new{employees=data}); //返回实体类json数 //写法1 string json = JsonConvert.SerializeObject(dt); var datajson = JsonConvert.SerializeObject(new { Pro=project, PlasmaInfo = json }); //返回匿名类json数 //写法2 var v = new { Pro = project, PlasmaInfo = json }; var datajson2 = JsonConvert.SerializeObject(v); return new HttpResponseMessage() { Content = new StringContent(datajson + datajson2, Encoding.UTF8, "application/json"), }; }
结果:
{"Pro":"W10IU80AP2-00","PlasmaInfo":"[{\"MiProject\":\"W10IU80AP2-00\",\"FgProject\":\"W10IU80AP2\",\"MiCustName\":\"Foxconn Tianjin(FOXCONN ODM)\",\"floors\":\"10\",\"MiConfirmDate\":\"2021-07-01T17:55:04\",\"vdpn\":\"IT-170GRA1TC\"}]"}{"Pro":"W10IU80AP2-00","PlasmaInfo":"[{\"MiProject\":\"W10IU80AP2-00\",\"FgProject\":\"W10IU80AP2\",\"MiCustName\":\"Foxconn Tianjin(FOXCONN ODM)\",\"floors\":\"10\",\"MiConfirmDate\":\"2021-07-01T17:55:04\",\"vdpn\":\"IT-170GRA1TC\"}]"}
二.C#解析json数据
[HttpPost] [Route("api/GetLotCardMIMAFInfo")] public HttpResponseMessage GetLotCardMIMAFInfo() { var data = Request.Content.ReadAsStringAsync().Result; var PNlist = ""; JObject jsonObj = JObject.Parse(data); string PNno = jsonObj["PN"].ToString(); JArray jsonAry = JArray.Parse(jsonObj["cuPNList"].ToString()); JObject stu1Obj = JObject.Parse(jsonAry[0].ToString()); string cuPN = stu1Obj["cuPN"].ToString(); foreach (var ss in jsonAry) //查找某个字段与值 { PNlist = PNlist + ss["cuPN"].ToString() + ","; // ((JObject)ss)["cuPN"]; // JObject.Parse(jsonAry[0].ToString()); } JsonData jd = new JsonData(); DataTable dt = checkInplanservice.GettLotCardInfoTable(PNno); DataTable dtMAF = checkInplanservice.GettLotCardMAFInfoTable(PNlist); //OBJ转化成JSON jd.Status = HandleStatus.Success; if (dt.Rows.Count == 0) { jd.Status = HandleStatus.Fail; jd.Msg = "无数据"; } else { jd.Data = new { cuLayerType = dt.Rows[0]["LayerLevel"], cuCustomer = dt.Rows[0]["MiCustPn"], cuCustomerName = dt.Rows[0]["MiCustName"], cuQRCustomerPN = "", cuQRCustomerPNVersion = "", cuPNLOrigin = dt.Rows[0]["lvdr"], cuSize = dt.Rows[0]["Value"], cuCurrSize = dt.Rows[0]["MiSetArea"], cuHSFRequirement = dt.Rows[0]["AttrCode"], cuFinalThickness = dt.Rows[0]["cuFinalThickness"], cuPNList = dtMAF }; } string msgAll = JsonConvert.SerializeObject(jd); return JsonResult(msgAll); }
原文地址:https://www.cnblogs.com/Depingblogs/p/15043508.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- JAVA中的浅克隆和深克隆分析
- mysql表占用多少磁盘空间以及清理表空间
- 基于docker快速搭建hbase集群
- 在springboot中对kafka进行读写操作
- [883]python安装包出现Retrying
- 深入理解java虚拟机学习笔记(三)-虚拟机性能监控与故障处理工具
- [884]Elasticsearch可视化工具
- 如何控制nodejs的线程数
- 算法篇:链表之合并有序链表
- 速读原著-UnixLinux基础(六)
- Python GUI编程:Tkinter
- JVM系列之:通过一个例子分析JIT的汇编代码
- 二叉查找树-增删查和针对重复数据处理的 Java 实现
- 手把手教你实现自定义Spring Boot的 Starter
- JVM详解之:本地变量的生命周期