C# Newtonsoft.Json 使用指南

Newtonsoft.Json (也称为 Json.NET) 是一种适用于 .NET 的常用高性能 JSON 框架,用于处理 JSON 数据。它提供了高性能的 JSON 序列化和反序列化功能。

安装

通过 NuGet 安装

基本用法

1. 序列化对象为 JSON 字符串

using Newtonsoft.Json;

var product = new Product
{
    Name = "Apple",
    Expiry = new DateTime(2008, 12, 28),
    Sizes = new[] { "Small", "Medium", "Large" }
};

string json = JsonConvert.SerializeObject(product);
// 输出:
// {"Name":"Apple","Expiry":"2008-12-28T00:00:00","Sizes":["Small","Medium","Large"]}



//处理object类型的数据json序列化
object[,] config = worksheet.Cells[1, 1, maxHang, maxLie].Value as object[,];
string customJson = JsonConvert.SerializeObject(config);
var bytes = Encoding.UTF8.GetBytes(customJson);
var path = @"D:\jsonFile.bytes";
File.WriteAllBytes(path, bytes);

2. 反序列化 JSON 字符串为对象

string json = @"{
    'Name': 'Apple',
    'Expiry': '2008-12-28T00:00:00',
    'Sizes': ['Small', 'Medium', 'Large']
}";

Product product = JsonConvert.DeserializeObject<Product>(json);

Console.WriteLine(product.Name); // 输出: Apple

3. 格式化 JSON 输出

对字符串进行缩进换行,更易于阅读

string json = JsonConvert.SerializeObject(product, Formatting.Indented);
// 输出格式化的 JSON:
// {
//   "Name": "Apple",
//   "Expiry": "2008-12-28T00:00:00",
//   "Sizes": [
//     "Small",
//     "Medium",
//     "Large"
//   ]
// }

4、大型 JSON 处理的流式处理

对于大型 JSON 处理,可以使用 JsonTextReader 和 JsonTextWriter 进行流式处理:

// 读取
using (StreamReader file = File.OpenText("largefile.json"))
using (JsonTextReader reader = new JsonTextReader(file))
{
    JObject o = (JObject)JToken.ReadFrom(reader);
    // 处理数据
}

// 写入
using (StreamWriter file = File.CreateText("largefile.json"))
using (JsonTextWriter writer = new JsonTextWriter(file))
{
    JsonSerializer serializer = new JsonSerializer();
    serializer.Serialize(writer, largeObject);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值