c# 不使用Newtonsoft.Json 库序列化二维数组
时间: 2025-02-17 13:18:11 浏览: 47
在C#中,如果你不想使用第三方库如`Newtonsoft.Json`来序列化二维数组到JSON字符串,你可以选择内置的`System.Text.Json`命名空间来进行操作。
下面是一个简单的例子展示如何将一个整数类型的二维数组转换成JSON格式:
```csharp
using System;
using System.Text.Json;
class Program {
static void Main() {
// 创建一个简单二维数组作为示例数据
int[,] array = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } };
// 将多维数组转化为可以被 JSON 序列化的列表形式
var listifiedArray = new List<List<int>>();
for (int i = 0; i < array.GetLength(0); ++i) {
var row = new List<int>();
for (int j = 0; j < array.GetLength(1); ++j)
row.Add(array[i, j]);
listifiedArray.Add(row);
}
// 使用 JsonSerializer 来处理转化后的数据结构
string jsonString = JsonSerializer.Serialize(listifiedArray);
Console.WriteLine(jsonString);
}
}
```
此段代码首先创建了一个大小为 `2x3` 的整形二维数组,并将其内容初始化。然后通过遍历的方式读取每一个元素并添加进一个新的嵌套列表(即每个内部列表代表原数组的一行),之后再利用`.NET Core 3.0+`提供的`JsonSerializer`类对这个新的数据结构进行了序列化工作。
需要注意的是,在反序列化的时候也需要做相应的适配,因为原始的二维数组已经被转成了包含多个一维集合的对象了。如果想要恢复回原本的形式,则需要再次编写循环构造出正确的形状的数据。
阅读全文
相关推荐


















