问题:我很难使用完整的检查器和 json.net 序列化数据。
这是我刚刚运行的一个简单测试的示例。我的项目中既有 json.net 又有完整的检查器。当我将测试脚本放置在场景中的对象上时,我可以看到公开的模型对象并编辑其属性。但是,当我运行该应用程序时,没有任何数据会保留。我错过了什么吗?
我看到有一个引用包装器 in the documentation ,但这似乎是为了序列化行为引用,而不是标准对象。 (也许我错了)
using FullInspector;
using Newtonsoft.Json;
public class test : BaseBehavior
{
public JsonModel model;
}
public class JsonModel : BaseObject
{
[JsonProperty(propertyName: "id")]
public string ID { get; set; }
}
您可以看到,一旦我在统一编辑器中运行该项目,数据就消失了。 (运行由颜色色调表示)
上面的代码有一个属性的原因是因为它是一个 json.net 对象,这样我就可以反序列化来 self 的 cms 的响应并将数据绑定(bind)到该对象。但这并不是此模型对象的唯一用途,我希望能够在编辑器中公开它并手动插入数据并保存数据(因为某些内容将存储在本地并具有相同的结构)。
最佳答案
JsonModel
由 Unity 序列化 - 它需要一个 [Serialized]
注释。
请注意BaseObject
仅支持Full Serializer;但是,这将按原样工作,因为 FS 默认情况下会序列化自动属性。
关于c# - Unity3d FullInspector 和 Json.net 未序列化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788541/