首页 > 解决方案 > c# - 如何将JSON对象列表序列化到文件中,而不是数组

问题描述

我在这里有这段代码可以将一段 JSON 添加到文件中,但它没有使用 [] 来创建一个数组,从而破坏了我的文件的读取方式。

var serverid = ctx.Guild.Id.ToString();
List<data> _data = new List<data>();
_data.Add(new data() {
    mute = $"{Role.Name}"
});
string json = JsonConvert.SerializeObject(_data.ToList());
File.WriteAllText(@$".\serverconfigs\{serverid}.json", json);

标签: c#jsonjson.net

解决方案


要创建不带方括号的 JSON,只需在序列化时省略该列表:

var _data = new data() {
    mute = $"{Role.Name}"
};
string json = JsonConvert.SerializeObject(_data);
File.WriteAllText(@$".\serverconfigs\{serverid}.json", json);

这将产生:{"mute" : "CobraMute"}假设Role.NameCobraMute


推荐阅读