Unity3d FullInspector 和 Json.net 没有序列化数据

Unity3d FullInspector and Json.net not serializing data

问题: 我很难用完整的检查器和 json.net 序列化数据。

这里是我刚刚运行的一个简单测试的例子。我在项目中同时拥有 json.net 和完整的检查员。当我将测试脚本放在场景中的对象上时,我可以看到公开的模型对象并编辑其属性。但是,当我 运行 时,数据的应用程序 none 仍然存在。我错过了什么吗?

我看到有一个引用包装器 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; }
}

你可以看到我在unity编辑器中运行项目后,数据就消失了。 (运行宁用颜色的色调表示)

上面的代码有一个属性的原因是因为它是一个 json.net 对象,所以我可以反序列化来自我的 cms 的响应并将数据绑定到这个对象。这不是这个模型对象的唯一用途,我希望能够在编辑器中公开它并手动插入数据并保存数据(因为一些内容将存放在本地并具有相同的结构)。

JsonModel 由 Unity 序列化 - 它需要一个 [Serializable] 注释。

请注意BaseObject只支持Full Serializer;但是,这将按原样工作,因为默认情况下 FS 将序列化自动属性。