在C#/.Net中将Json压缩成一行的几种方式 环球速看

读完这篇文章里你能收获到


(相关资料图)

在.Net Core中使用多种方式将Json压缩成一行

主要介绍两种实现方案,Newtonsoft.Json和内置的System.Text.Json

文章目录

一、Newtonsoft.Json

二、System.Text.Json

一、Newtonsoft.Json

将 Formatting 参数设为 Formatting.None 来禁用了 JSON 格式化,从而将 JSON 序列化成了一行

如果需要,你还可以在序列化之后使用压缩算法将 JSON 字符串进一步压缩例如使用 GZip 或 Deflate 压缩

但是,在大多数情况下,序列化后的 JSON 字符串已经足够紧凑,不需要进一步压缩

using Newtonsoft.Json;

// 定义一个类,作为 JSON 数据的模型

public class MyClass

{

public int Id { get; set; }

public string Name { get; set; }

}

// 创建一个实例

MyClass instance = new MyClass { Id = 1, Name = "Hello, World" };

// 序列化对象并压缩成一行

string json = JsonConvert.SerializeObject(instance, Formatting.None);

二、System.Text.Json

在 .NET Core 中,System.Text.Json 命名空间中的类型是 .NET Core 的内置序列化 API

它比 System.Json 和 DataContractJsonSerializer 类型更快、更轻量,并且具有更好的性能和更简洁的 API。所以

如果你的项目基于 .NET Core,建议使用 System.Text.Json 命名空间中的类型来实现

using System.Text.Json;

// 定义一个类,作为 JSON 数据的模型

public class MyClass

{

public int Id { get; set; }

public string Name { get; set; }

}

// 创建一个实例

MyClass instance = new MyClass { Id = 1, Name = "Hello, World" };

// 序列化对象并压缩成一行

string jsonString = JsonSerializer.Serialize(instance, new JsonSerializerOptions

{

WriteIndented = false

});

关键词:

推荐DIY文章
主机存在磨损或划痕风险 PICO4便携包宣布召回
穿越湖海!特斯拉Cybertruck电动皮卡可以当“船”用
vivoXFold+折叠旗舰开售 配备蔡司全焦段旗舰四摄
飞凡R7正式上市 全系标配换电架构
中兴Axon30S开售 拥有黑色蓝色两款配色
荣耀MagicBookV14 2022正式开售 搭载TOF传感器
it