【发布时间】:2017-01-22 03:42:54
【问题描述】:
我有一些需要序列化/反序列化的数据,但 JsonUtility 并没有做它应该做的事情。这是我正在使用的对象:
public class SpriteData {
public string sprite_name;
public Vector2 sprite_size;
public List<Vector2> subimage;
}
public class SpriteDataCollection
{
public SpriteData[] sprites;
}
如果我创建一个 SpriteDataCollection,并尝试使用 JsonUtility 对其进行序列化,我只会得到一个空对象 {}。以下是它的构建方式:
SpriteData data = new SpriteData();
data.sprite_name = "idle";
data.sprite_size = new Vector2(64.0f, 64.0f);
data.subimage = new List<Vector2> { new Vector2(0.0f, 0.0f) };
SpriteDataCollection col = new SpriteDataCollection();
col.sprites = new SpriteData[] { data };
Debug.Log(JsonUtility.ToJson(col));
调试日志只打印“{}”。为什么它不序列化任何东西?我已经对其进行了测试,序列化单个 SpriteData 完全符合它的预期,但它在 SpriteDataCollection 中不起作用。
【问题讨论】:
标签: c# json unity3d serialization