[英]how to serialize JSON object lists into file with c# not array
我在這里有這段代碼,可以將一段 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);
這不是有效的 json。 您需要使用數組創建 class。 然后,當您序列化 class 時,它將像這樣序列化:
{"_data":[{"mute":"CobraMute"}]}
在您的代碼中,它將是這樣的:
class Program
{
YourClass myclass = new YourClass();
myclass._data = new List<data>();
myclass._data.Add(new data()
{
mute = $"{Role.Name}"
});
string json = JsonConvert.SerializeObject(myclass);
File.WriteAllText(@$".\serverconfigs\{serverid}.json", json);
}
class YourClass{
public List<data> _data;
}
要創建不帶方括號的 JSON,只需在序列化時省略該列表:
var _data = new data() {
mute = $"{Role.Name}"
};
string json = JsonConvert.SerializeObject(_data);
File.WriteAllText(@$".\serverconfigs\{serverid}.json", json);
這將生成: {"mute": "CobraMute"}
假設Role.Name
是CobraMute
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.