c# - Unity3d FullInspector 和 Json.net 未序列化数据

标签 c# serialization unity-game-engine json.net inspector

问题:我很难使用完整的检查器和 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; }
}

您可以看到,一旦我在统一编辑器中运行该项目,数据就消失了。 (运行由颜色色调表示)

enter image description here

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

enter image description here

最佳答案

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

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

关于c# - Unity3d FullInspector 和 Json.net 未序列化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788541/

相关文章:

c# - LINQ to XML - 为什么 Elements 总是 null

c# - 有没有办法在 C#/.NET 2.0 中将 C 格式字符串转换为 C# 格式字符串?

java - Thrift 列表的序列化(反序列化)

php - 将 JSON 解码为 Symfony 实体

c# - 生成 1 到 10 之间的唯一随机数?

android - unity 如何使用 www 在 android 上加载具有绝对路径的 mp3 文件

c# - 使用 C# mvc 添加链接

c# - iTextSharp 国际文本

iphone - 通用 NSCoding 实现的 Objective-C 反射

c# - foreach 循环仅在第一次迭代中执行所有代码,在后续迭代中选择性地执行代码