白山市网站建设_网站建设公司_MongoDB_seo优化
2026/1/5 11:31:35 网站建设 项目流程

C# .NETCore json字符串压缩为一行 - 详解

2026-01-05 11:29  tlnshuju  阅读(0)  评论(0)    收藏  举报

在C#中,倘若你想要将JSON字符串压缩为一行(即去除所有换行符和空格,使之成为单行字符串),你可以使用JsonSerializer类(来自System.Text.Json命名空间)的Serialize技巧,并通过设置序列化选项来控制格式化输出。但,如果你想手动处理一个已经存在的JSON字符串,你许可使用string类的Replace方法或者正则表达式。

假如您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

1、使用string.Replace手段

你可以采用Replace方法移除所有的换行符和空格:

using System;

class Program
{
static void Main()
{
string json = @"
{
""name"": ""John"",
""age"": 30,
""isStudent"": false
}";

string compressedJson = json.Replace("\n", "").Replace("\r", "").Replace(" ", "");
Console.WriteLine(compressedJson);
}
}

2、使用正则表达式

你还允许使用正则表达式来移除所有不必要的空白字符:

using System;
using System.Text.RegularExpressions;

class Program
{
static void Main()
{
string json = @"
{
""name"": ""John"",
""age"": 30,
""isStudent"": false
}";

string compressedJson = Regex.Replace(json, @"\s+", ""); // \s 匹配任何空白字符,+ 表示一个或多个空白字符
Console.WriteLine(compressedJson);
}
}

3、利用JsonSerializer序列化并压缩输出

要是你是在序列化一个对象为JSON字符串,并希望它以单行形式输出,可能在序列化时设置格式化选项:

using System;
using System.Text.Json;
using System.Text.Json.Serialization;

class Program
{
static void Main()
{
var person = new { Name = "John", Age = 30, IsStudent = false };
var options = new JsonSerializerOptions { WriteIndented = false }; // 不使用缩进格式化输出
string compressedJson = JsonSerializer.Serialize(person, options);
Console.WriteLine(compressedJson); // 输出将是一个单行的JSON字符串
}
}

以上方式能够帮助你根据需要压缩JSON字符串。倘若你是在处理已经存在的JSON字符串,第一种和第二种方法(使用Replace或正则表达式)会更加直接有效。如果你是在序列化对象为JSON,第三种方法(使用JsonSerializer)则提供了更好的灵活性

假如您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询