C# Json序列化文件如何分行

qq_42254981 2020-04-19 01:22:36

这是我的数据添加,但是保存后所有数据都在一行,如何实现每个Model为一行
...全文
2974 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ar乄Dug 2022-02-27
  • 打赏
  • 举报
回复

不是,大哥,怎么转换回去呢?
JsonConvert.DeserializeObject(tInfo, Formatting.Indented); 显示不能这么写

Ar乄Dug 2022-02-27
  • 举报
回复
@Ar乄Dug 好吧,JsonConvert.DeserializeObject(tInfo)这样是可以的,只不过tInfo我只读了一行
qq_42254981 2020-04-21
  • 打赏
  • 举报
回复
引用 7 楼 无处不在熊猫人 的回复:
你都没用到那个json字符串 直接将json写入文件就可以了 var json = JsonConvert.SerializeObject(Ls_IOModel, Formatting.Indented); File.WriteAllText(Path_IO, json);
谢谢 搞定了,看来不能钻牛角尖思维还要活跃点
  • 打赏
  • 举报
回复 2
你都没用到那个json字符串
直接将json写入文件就可以了
var json = JsonConvert.SerializeObject(Ls_IOModel, Formatting.Indented);
File.WriteAllText(Path_IO, json);
Ar乄Dug 2022-02-27
  • 举报
回复
@无处不在熊猫人 大哥,怎么转换回去呢? JsonConvert.DeserializeObject(tInfo, Formatting.Indented); 显示不能这么写
Ar乄Dug 2022-02-27
  • 举报
回复
@Ar乄Dug 好吧,JsonConvert.DeserializeObject(tInfo)这样是可以的,只不过tInfo我只读了一行
assky124 2020-04-20
  • 打赏
  • 举报
回复
复制到VSCODE,右键格式化一下就行了
qq_42254981 2020-04-20
  • 打赏
  • 举报
回复
引用 3 楼 lindexi_gd的回复:
[quote=引用 2 楼 qq_42254981 的回复:]
[quote=引用 1 楼 lindexi_gd 的回复:]
你说的应该是自动格式化才对

先引用 Json.NET 的库,然后使用下面代码进行序列化,此时就自动换行

var json = JsonConvert.SerializeObject(某个对象, Formatting.Indented);

上面说的 Json.NET 库是 Newtonsoft.Json 库,可以在 NuGet 上找到


using (StreamWriter file = File.CreateText(Path_IO))
{
JsonSerializer serializer = new JsonSerializer();
var json = JsonConvert.SerializeObject(Ls_IOModel, Formatting.Indented);
serializer.Serialize(file, Ls_IOModel);
}


还是不行[/quote]

你看都有 \r\n 了,这就是换行了哇,只是最后写入的时候被序列化哇。你看看 json 这个变量,是不是换行了[/quote] 是有换行符号了,但是json也把换行符好序列化了。这样看起来还是很不方便。请问有别的办法吗,是想要看起来分行这样方便一些
lindexi_gd 2020-04-20
  • 打赏
  • 举报
回复
引用 2 楼 qq_42254981 的回复:
[quote=引用 1 楼 lindexi_gd 的回复:]
你说的应该是自动格式化才对

先引用 Json.NET 的库,然后使用下面代码进行序列化,此时就自动换行

var json = JsonConvert.SerializeObject(某个对象, Formatting.Indented);

上面说的 Json.NET 库是 Newtonsoft.Json 库,可以在 NuGet 上找到


using (StreamWriter file = File.CreateText(Path_IO))
{
JsonSerializer serializer = new JsonSerializer();
var json = JsonConvert.SerializeObject(Ls_IOModel, Formatting.Indented);
serializer.Serialize(file, Ls_IOModel);
}


还是不行[/quote]

你看都有 \r\n 了,这就是换行了哇,只是最后写入的时候被序列化哇。你看看 json 这个变量,是不是换行了
qq_42254981 2020-04-20
  • 打赏
  • 举报
回复
引用 1 楼 lindexi_gd 的回复:
你说的应该是自动格式化才对 先引用 Json.NET 的库,然后使用下面代码进行序列化,此时就自动换行 var json = JsonConvert.SerializeObject(某个对象, Formatting.Indented); 上面说的 Json.NET 库是 Newtonsoft.Json 库,可以在 NuGet 上找到

 using (StreamWriter file = File.CreateText(Path_IO))
                {
                    JsonSerializer serializer = new JsonSerializer();
                    var json = JsonConvert.SerializeObject(Ls_IOModel, Formatting.Indented);
                    serializer.Serialize(file, Ls_IOModel);
                }
还是不行
奇点码农 2020-04-20
  • 打赏
  • 举报
回复
enverment.newline();
lindexi_gd 2020-04-19
  • 打赏
  • 举报
回复
你说的应该是自动格式化才对

先引用 Json.NET 的库,然后使用下面代码进行序列化,此时就自动换行

var json = JsonConvert.SerializeObject(某个对象, Formatting.Indented);

上面说的 Json.NET 库是 Newtonsoft.Json 库,可以在 NuGet 上找到

111,107

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧