Я не могу понять, как получить Newtonsoft.Json сериализовать этот список:список Serialize сложных объектов в JSON
var player = new List<ISprite>
{
new Sprite(head, position),
new Sprite(torso, position),
new Sprite(legs, position)
};
fileParser.Write("save.json", player);
Sprite
конструктор принимает два параметра: первый это имя актива и второй - вектор. FileParser.Write
определяется как:
public void Write<T>(string fileName, T data)
{
if (string.IsNullOrEmpty(fileName))
{
throw new ArgumentNullException();
}
var json = JsonConvert.SerializeObject(data);
File.WriteAllText(fileName, json);
}
создан файл, но результат всегда массив пустых объектов:
[{},{},{}]
Что я здесь делаю неправильно?
Где находится определение * Sprite *? Имеет ли это * общедоступное свойство/поле? –
Я не понимал, что они должны быть публичными, дух. Хотя я бы предпочел не раскрывать все свойства класса 'Sprite'. –
Затем добавьте атрибут '[JsonProperty]' в приватные поля, которые вы хотите сериализовать. –