C# 将复杂对象列表序列化为JSON
我不知道如何让Newtonsoft.Json序列化此列表:C# 将复杂对象列表序列化为JSON,c#,json,file-io,json.net,C#,Json,File Io,Json.net,我不知道如何让Newtonsoft.Json序列化此列表: var player = new List<ISprite> { new Sprite( head, position ), new Sprite( torso, position ), new Sprite( legs, position ) }; fileParser.Write( "save.json", player ); 文件已创建,但结果始终是空
var player = new List<ISprite>
{
new Sprite( head, position ),
new Sprite( torso, position ),
new Sprite( legs, position )
};
fileParser.Write( "save.json", player );
文件已创建,但结果始终是空对象数组:
[{},{},{}]
我做错了什么?您的Sprite类中似乎没有任何公共字段/属性。解决这个问题的方法是将
[JsonProperty]
属性添加到要序列化的私有字段中事实上,您的代码很好,应该可以正常工作。
问题是,可能您将这些Sprite实例空传递给json转换器,您是否将传递给构造函数的这些值赋给类属性、名称和向量?
什么类型的值是“头”、“腿”、“躯干”和位置,这些是字符串还是对象。精灵的定义在哪里?它有公共财产/场地吗?我没意识到它们必须是公共的。尽管我不想公开我的
Sprite
类的所有属性,但我还是希望在要序列化的私有字段中添加[JsonProperty]
属性。你应该把它作为答案贴出来。
[{},{},{}]