当前位置: 首页> 文旅> 艺术 > C#解析JSON的常用库--Newtonsoft.Json

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

时间:2025/8/26 16:53:19来源:https://blog.csdn.net/weixin_46158019/article/details/139092859 浏览次数:0次

一、库介绍

  在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; }} }

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

关键字:C#解析JSON的常用库--Newtonsoft.Json

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: