C#解析JSON的常用库--Newtonsoft.Json

一、库介绍

  在C#中,解析JSON的常用库有Newtonsoft.Json(也称为Json.NET)和 System.Text.Json(从 .NET Core 3.0 开始引入)。本文主要介绍 Newtonsoft.Json

二、下载

官网:

https://www.nuget.org/packages/Newtonsoft.Json/
https://www.newtonsoft.com/json

选择下载
在这里插入图片描述
在这里插入图片描述
选择 Releases,选择合适的版本下载即可。
在这里插入图片描述

三、工程配置

工程添加 json 的 dll 动态库。
先解压下载的压缩包,选择合适的 dll 动态库文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将 dll 动态库 复制到工程中,工程添加 dll 动态库。
选择 添加引用
在这里插入图片描述
选择 dll 动态库:
在这里插入图片描述
代码中引用

using Newtonsoft.Json; 

四、测试代码

测试代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Newtonsoft.Json;  namespace WindowsFormsApplication1
{public partial class Form1 : Form{public Form1(){InitializeComponent();}/*public class Person  {  public string Name { get; set; }  public int Age { get; set; }  } */private void button1_Click(object sender, EventArgs e){jsonTest();}private void jsonTest(){string json = "{\"Name\":\"John Doe\",\"Age\":30}";Console.WriteLine(json); // 输出: {"Name":"John Doe","Age":30} // 序列化对象到JSON字符串  string jsonSerialized = JsonConvert.SerializeObject(new Person { Name = "John Doe2", Age = 18 });  Console.WriteLine(jsonSerialized); // 输出: {"Name":"John Doe2","Age":18}  // 从JSON字符串反序列化到对象  Person person = JsonConvert.DeserializeObject<Person>(json);  Console.WriteLine("Name:"+person.Name + "Age:"+person.Age); // 输出: Name: John Doe, Age: 30  Person person2 = JsonConvert.DeserializeObject<Person>(jsonSerialized);Console.WriteLine("Name:" + person2.Name + "Age:" + person2.Age); // 输出: Name: John Doe2, Age: 18  }}public class Person{public string Name { get; set; }public int Age { get; set; }} }

界面如下:
在这里插入图片描述
测试结果:
在这里插入图片描述

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

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

相关文章

使用 retrievers 在 Elasticsearch 中进行语义重新排序

作者&#xff1a;来自 Elastic Adam Demjen, Nick Chow 什么是语义重新排序&#xff1f; 语义重新排序&#xff08;semantic reranking&#xff09;是一种方法&#xff0c;它允许我们利用快速检索方法的速度和效率&#xff0c;同时在其上分层语义搜索。它还允许我们立即将语义…

SSLError ClosedPoolError

分析日志 从您提供的日志文件内容来看&#xff0c;存在几个明显的问题导致了实例无法创建&#xff1a; SSL证书验证失败&#xff1a;日志中多次出现SSLError(SSLError(1, [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)),)错误。这表明客户端在尝试…

CAN总线应用协议CANopen

作为一种真正开放的CAN总线高层协议&#xff0c;CANopen协议允许不同的CAN设备以标准化的方式进行通讯&#xff0c;这使得CAN 设备具有互操作性。随着CANopen协议的日益完善&#xff0c;它已经广泛应用于多个行业。本文将对CANopen协议的对象字典、通讯对象、网络管理等几个方面…

2024-5-10——统计已测试设备

2024-5-10 题目来源我的题解方法一 模拟 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2960 我的题解 方法一 模拟 add记录前面已测试设备的数量&#xff0c;之后紧挨着的需要减add&#xff0c;若值大于0&#xff0c;则表示该设备可以被测试&#xff0c;add1;若值小于…

【Python】解决Python报错:TypeError: %d format: a number is required, not str

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

STM32定时器及输出PWM完成呼吸灯

文章目录 一、STM32定时器原理1、基本定时器2、通用定时器&#xff08;1&#xff09;时钟源&#xff08;2&#xff09;预分频器PSC&#xff08;3&#xff09;计数器CNT&#xff08;4&#xff09;自动装载寄存器ARR 3、高级定时器 二、PWM工作原理三、控制LED以2s的频率周期性地…

C# 枚举高阶

文章目录 0. 示例枚举1.常用静态方法1.1 GetName 根据枚举值获得枚举名1.2 GetNames 返回指定枚举的所有枚举名1.3 Parse 根据枚举名转化为枚举成员 2 位枚举2.1 声明2.2 Flags 特性2.3 常用操作2.3.1 组合枚举值2.3.2 从枚举变量中去除某个或某些枚举项&#xff1a;2.3.3 判断…

CyberDAO M级共识交流会·西安站圆满落幕:共筑Web3美好未来

CyberDAO M级共识交流会于2024年5月28日在西安隆重举行&#xff0c;这是一场CyberDAO精英汇聚的盛会&#xff0c;以同心共筑&#xff0c;志在必达为主题口号与DAO精英携手并进&#xff0c;共筑CyberDAO美好宏图。CyberDAO的使命是降低WEB3的门槛&#xff0c;帮助用户轻松抓住行…

【微服务】springboot 构建docker镜像多模式使用详解

目录 一、前言 二、微服务常用的镜像构建方案 3.1 使用Dockerfile 3.2 使用docker plugin插件 3.3 使用docker compose 编排文件 三、环境准备 3.1 服务器 3.2 安装JDK环境 3.2.1 创建目录 3.2.2 下载安装包 3.2.3 配置环境变量 2.2.4 查看java版本 3.3 安装maven …

妙味web前端开发全套视频教程:深度解析与精彩呈现

妙味web前端开发全套视频教程&#xff1a;深度解析与精彩呈现 在数字化浪潮汹涌的时代&#xff0c;Web前端开发技术日新月异&#xff0c;成为互联网行业的热门领域。对于初学者来说&#xff0c;如何系统、全面地掌握Web前端开发技能&#xff0c;是一个充满挑战与困惑的问题。为…

Makefile 中$(origin V)的作用

在 Makefile 中&#xff0c;$(origin V)的作用是获取变量V的来源。origin函数会返回一个字符串&#xff0c;用于表示变量的定义位置或来源。 具体来说&#xff0c;$(origin V)可能返回以下几种常见的值&#xff1a; undefined&#xff1a;表示变量V未被定义。command line&…

JVM学习-垃圾回收(二)

标记-清除(Mark-Sweep)算法 当堆中的有效内存空间被耗尽的时候&#xff0c;就会停止整个程序(stop the world)&#xff0c;然后进行两项工作&#xff0c;第一项则是标记&#xff0c;第二项是清除 标记&#xff1a;Collector从引用根节点开始遍历&#xff0c;标记所有被引用的…

深入理解哈希加密:md5在保护用户数据中的应用

新书上架~&#x1f447;全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我&#x1f446;&#xff0c;收藏下次不迷路┗|&#xff40;O′|┛ 嗷~~ 目录 一、md5加密方法简介 二、md5加密方法的实现 示例代码&#xff1a; 三、md5加密方法在实际…

老师如何对付挑事儿的家长?

身为老师&#xff0c;你有没有遇到过这样的家长&#xff1a;孩子在学校里闹点小矛盾&#xff0c;或者作业分数有点争议&#xff0c;他们就气势汹汹地来找你&#xff0c;说你偏心&#xff0c;甚至在其他家长面前说三道四&#xff1f;面对这种爱“挑事”的家长&#xff0c;老师们…

RestTemplet 自定义消息转换器总结

在RestTemplet 请求中&#xff0c;请求发送一个 HTTP 请求时&#xff0c;RestTemplet 会根据请求中的内容类型&#xff08;Content-Type&#xff09;选择合适的 HttpMessageConverter 来处理请求体的数据。同样地&#xff0c;当服务器返回一个 HTTP 响应时&#xff0c;RestTemp…

模型实战(21)之 C++ - tensorRT部署yolov8-det 目标检测

C++ - tensorRT部署yolov8-det 目标检测 python环境下如何直接调用推理模型转换并导出:pt -> onnx ->.engineC++ tensorrt 部署检测模型不写废话了,直接上具体实现过程+all代码 1.Python环境下推理 直接命令行推理,巨简单yolo detect predict model=yolov8n.pt source…

中英文语音合成芯片(TTS芯片)WT3000T8-在ETC上的应用案例

一&#xff1a;开发背景&#xff1a; 随着智能化浪潮的推进&#xff0c;ETC&#xff08;电子不停车收费&#xff09;系统已逐渐成为现代交通的重要组成部分。在这一背景下&#xff0c;唯创知音自主研发的WT3000T8中文转语音合成芯片&#xff08;TTS芯片&#xff09;以其卓越的性…

Pyglet,一款程序员游戏开发多功能Python工具

Pyglet,一款程序员游戏开发多功能Python工具 pyglet 库概述 Pyglet 是一个用于创建图形用户界面 (GUI)、多媒体应用和游戏开发的Python库.它提供了丰富的功能和工具,可以用于创建交互式的图形应用程序和游戏. 安装与用法 首先安装 pyglet:pip install pyglet以下是一个简单…

【开源项目】Excel数据表自动生成工具v1.0版

一、介绍 Excel数据表自动生成工具是Go语言编写的一款小型工具软件&#xff0c;用于将特定的Excel表格内容导出为多种编程语言的代码或可以直接读取的数据内容。 开源Github地址&#xff1a;https://github.com/SkyCreator/goproj 二、版本v1.0功能概览 1.编程语言支持 目前…

Spring Boot发送邮件时如何支持定时功能?

如何使用Spring Boot结合AokSend以实现高效邮件发送&#xff1f; 如何高效地进行sendmail发送邮件并支持定时功能是一个值得探讨的问题。本文将详细介绍如何在Spring Boot中实现定时sendmail发送邮件&#xff0c;并结合AokSend工具实现高效邮件发送。 Spring Boot发送邮件&am…