提问者:小点点

如何用C#not数组将JSON对象列表序列化为文件


所以我在这里有一段代码,将JSON的peice添加到一个文件中,但当我这样做时,它会使它成为一个数组,并使用[]打破了读取文件的方式。我一定是做错了什么。如果英语不好,我很抱歉

            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);

共1个答案

匿名用户

那不是有效的JSON。您需要创建一个带有数组的类。那么当序列化该类时,它将被序列化,如下所示:

{“_data”:[{“静音”:“眼镜蛇”}]}

在您的代码中,它应该是这样的:

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;
}