如何将数据序列化为缩进json
问题描述:
我正在使用此代码将用户序列化为json
文本文件。如何将数据序列化为缩进json
if (File.Exists(path))
{
using (var file = File.CreateText(path))
{
var serializer = new JsonSerializer();
serializer.Serialize(file, this.users);
}
}
这是结果,我得到:
[
我怎样才能得到这样的结果:
[
答
用这个代替:
if (File.Exists(path))
{
using (var file = File.CreateText(path))
{
var json = JsonConvert.SerializeObject(this.users, Formatting.Indented);
file.Write(json);
}
}
+0
也可以直接写入IO流到内存然后写出,但格式化。 –
+0
@JonathonChase真的,你的解决方案明显更好。另外,OP的更少修改。有一个upvote〜 – Xiaoy312
答
将串行器的格式设置为缩进。
var serializer = new JsonSerializer();
serializer.Formatting = Formatting.Indented;
serializer.Serialize(file, this.users);
为什么你需要创建一个“美丽的文件”? – Alex
这是['Newtonsoft.Json.JsonSerializer'](http://www.newtonsoft.com/json/help/html/t_newtonsoft_json_jsonserializer.htm)? – dbc
在“url-rewriting”中没有可以想象的定义,该标签是适用的。 –