Newtonsoft.Json use


        private void button3_Click(object sender, EventArgs e)
        {
            List<Student> students = new List<Student>();

            students.Add(new Student { Id = 1, Name = "张三", Sex = "男", Description = "班长" });

            students.Add(new Student { Id = 2, Name = "李四", Sex = "女", Description = "小组长" });

            students.Add(new Student { Id = 3, Name = "王五", Sex = "男", Description = "宣传委员" });


            string studentsJson = JsonConvert.SerializeObject(students);
            MessageBox.Show(studentsJson);
            Console.WriteLine(studentsJson);


            //
            Dictionary<String, Object> dicList = new Dictionary<string, object>();
            Dictionary<String, string> dicSampleList = new Dictionary<string, string>();
            dicSampleList.Add("key_1", "111");
            dicSampleList.Add("key_2", "222");
            dicList.Add("SampleDatas", dicSampleList);
            List<Dictionary<string, object>> tableItems = new List<Dictionary<string, object>>();
            var properties = typeof(Student).GetProperties();

            foreach (var stu in students)
            {
                Dictionary<string, object> row = new Dictionary<string, object>();
                foreach (System.Reflection.PropertyInfo info in properties)
                {
                    var value = stu.GetType().GetProperty(info.Name).GetValue(stu, null);
                    //Console.WriteLine(info.Name,value);
                    row.Add(info.Name,value);
                    
                }
                tableItems.Add(row);
            }
            
            dicList.Add("Table1", tableItems);
            string customJson = JsonConvert.SerializeObject(dicList);
            MessageBox.Show(customJson);
            Console.WriteLine(customJson);

            var desobj = JsonConvert.DeserializeObject<Dictionary<string, object>>(customJson);
            var dicSample =JsonConvert.DeserializeObject<Dictionary<string, object>>(desobj["SampleDatas"].ToString());
            var dicTable1 = JsonConvert.DeserializeObject<List<Dictionary<string, object>>>(desobj["Table1"].ToString());

            Console.WriteLine(desobj.ToString());
            MessageBox.Show(desobj.ToString());
        }
      

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

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

相关文章

【AUTOSAR中断管理】TC3XX中断系统介绍

摘要 这段文本主要介绍了AURIX TC3XX的中断系统(Interrupt Router,简称IR)以及中断注册的过程以及举例说明中断机制。 AURIX TC3XX 中断系统(Interrupt Router)介绍 流程图描述中断路由器(IR)处理服务请求并与服务提供者交互。 中断系统的作用是将service request进行…

【ivX】低调且强大的低代码平台

目录 前言 一、低代码那么多 为什么选择iVX&#xff1f; 二、“拼”出来的低代码平台&#xff0c;真的好用吗&#xff1f; 前言 首先我们应该明白自动编程突破可能是&#xff1a;领域内Mini LLM 现在的思路都是搞LLM&#xff0c;几乎像“大跃进”一样全民都在修炼“大模型”…

UE4和C++ 开发-C++绑定widget的方式和初始化UI

C绑定widget的方式有两种&#xff0c;一种是使用meta (BindWidget)&#xff0c;一种是使用GetWidgetFromName(TEXT("")),两种方式都可以。一、meta BindWidget方式 注意这种绑定的方式UMG里面的空间名称需要与C里面声明的变量名称相同 Btn_StartU 二、GetWidge…

京东官方平台API接口获得JD商品详情页信息数据采集产品价格、原价、销量、商品属性名等

京东商品详情API接口的作用是获取京东平台上某个商品的详细信息&#xff0c;包括商品标题、价格、图片、规格、参数、店铺信息等。开发者可以通过该接口获取到商品的原始数据&#xff0c;方便进行数据分析、价格比较、爬取等操作。 通过该接口获取到的商品详情数据可以结合其他…

运维 | 解决 CentOS 终端主机名显示-bash-4.2 问题

运维 | 解决 CentOS 终端主机名显示-bash-4.2 问题 问题描述 登录 linux 系统过后&#xff0c;发现显示的是 -bash-4.2# 而不是 root主机名 路径 的显示方式 内容分析 根目录缺少文件配置&#xff0c;如&#xff1a;.bashrc .bash_profile切换到有故障的用户导致 解决办法…

java学习笔记001

java基础 java语言特点 面向对象&#xff0c;强类型&#xff0c;跨平台&#xff0c;解释型 基本概念&#xff08;JVM、JRE、JDK&#xff09; JVM java虚拟机 作用&#xff1a;加载.class文件 JRE Java运行环境 JREJVMJava系统类库 JDK Java开发工具包 JDKJRE编译&a…

后端:推荐 2 个 .NET 操作的 Redis 客户端类库

目录 Redis特点 Redis场景 1. StackExchange.Redis 2. FreeRedis &#x1f680; 快速入门 &#x1f3a3; Master-Slave (读写分离) &#x1f4bb; Pipeline (管道)示例 &#x1f30c; Redis Cluster (集群) Redis &#xff0c;是一个高性能(NOSQL)的key-value数据库,Re…

docker安装sql-server数据库,使用navicat实现备份数据库导入

docker安装sql-server&#xff0c;使用navicat实现备份数据库导入 1、docker安装sql-server数据库2、使用navicat连接sql-server3、使用navicat导入备份数据库1、第一步&#xff1a;选择需要备份的数据源2、第二步 &#xff08;选择备份计划&#xff0c;设置还原文件位置信息&a…

WSL2 ubuntu18.04安装ROS

前期准备 在Windows 10上启用WSL&#xff08;Windows Subsystem for Linux&#xff09;的步骤如下&#xff1a; 打开“控制面板”并选择“程序和功能”选项。单击左侧的“启用或关闭Windows功能”链接。滚动到底部并选中“适用于Linux的Windows子系统”复选框。单击“确定”按钮…

写csv相关操作

std::ios::in&#xff1a;输入模式&#xff0c;表示以读取方式打开流。 std::ios::out&#xff1a;输出模式。 std::ios::app&#xff1a;追加模式&#xff0c;表示以写入方式打开流&#xff0c;并将数据追加到文件末尾而不清除原有内容。 std::ios::trunc&#xff1a;截断模式…

『Linux小程序』进度条

文章目录 缓冲区问题回车与换行的区别进度条小程序 缓冲区问题 假设有一段代码为: #include<iostream> #include<unistd.h> int main() …

Apache Spark 的基本概念和在大数据分析中的应用 103.219.31.8

Apache Spark是一款基于内存的通用大数据处理框架&#xff0c;旨在加速数据处理速度。它包含了大规模数据处理&#xff0c;机器学习&#xff0c;图计算等组件。以下是几个 Apache Spark 的基本概念&#xff1a; Resilient Distributed Datasets (RDDs)&#xff1a;RDDs是一个分…

【已解决】Vue全局引入scss 个别页面不生效 / 不自动引入全局样式

项目里配置了全局样式的引入&#xff0c;今天新建了 demo 页面去修改 element 的样式&#xff0c;发现全局的样式没有引入进来。 问题原因 在此页面 没有任何样式导致的 项目在编译的时候&#xff0c;会把 .vue 文件的样式抽离到单独的 css 文件中。 当该页面没有css代码的时…

漏洞复现(CVE-2023-35843)

免责声明&#xff1a; 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直…

redis与 缓存击穿、缓存穿透、缓存雪崩

什么是缓存击穿、缓存穿透、缓存雪崩 缓存击穿、缓存穿透和缓存雪崩是与缓存相关的三种常见问题&#xff0c;它们可以在高并发的应用中导致性能问题。以下是它们的解释&#xff1a; 缓存击穿&#xff08;Cache Miss&#xff09; 缓存击穿指的是在高并发情况下&#xff0c;有大…

手动下载/安装Xcode的simulator

目录 前言解决方案1.获取simulator包下载地址1.1 Apple后台1.2 手动 2.使用三方下载工具下载3.使用命令安装simulator 前言 Xcode某个版本更新之后不带iOS的Simulator,导致全新下载一个Xcode后没法编译项目.公司的网又很坑,每次断掉点重试都重新下载,导致完全没法下下来.特别影…

了解什么是JWT的原理及实际应用

目录 一、介绍&讲述 ( 1 ) 什么是JWT ( 2 ) 为什么要学 二、结构 三、Jwt的工具类的使用 1. 依赖 2. 工具类 3. 过滤器 4. 控制器 5. 配置 6. 测试类 用于生成JWT 解析Jwt 复制jwt&#xff0c;并延时30分钟 测试JWT的有效时间 测试过期JWT的解析 四、…

紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示,OV7725采集,提供PDS工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐FPGA图像缩放方案推荐FPGA视频拼接叠加融合方案推荐紫光同创FPGA图像采集方案推荐紫光同创FPGA图像缩放方案推荐紫光同创FPGA视频拼接方案推荐 3、设计思路框架为什么选择OV7725摄像头&#xff1f;视频源选择OV7725摄像头配置及采集动态彩…

【Rust笔记】浅聊 Rust 程序内存布局

浅聊Rust程序内存布局 内存布局看似是底层和距离应用程序开发比较遥远的概念集合&#xff0c;但其对前端应用的功能实现颇具现实意义。从WASM业务模块至Nodejs N-API插件&#xff0c;无处不涉及到FFI跨语言互操作。甚至&#xff0c;做个文本数据的字符集转换也得FFI调用操作系统…

记一次fineBI的增量删除更新BUG

官方文档链接是https://help.fanruan.com/finebi/doc-view-1663.html 按照官方文档&#xff0c;增量删除不能使用select * &#xff0c;且需要指定分区建 但实际指定分区键有时候也会报错&#xff0c;因为表设置的字段有时候会比数据源少&#xff0c;此时会报错&#xff0c;提…