Newtonsoft是使用量最多的json插件,我在unity引用了这个插件,在ios端将对象序列化成json的时候出问题了, 我们一开始在网上的学习资料或者其他地方找到定义json解析类的时候,每个变量都会添加{get; set;}字段变成属性块 但是这种写法在ios序列化的时候会导致序列化失败,之前自己找了很久也没找到问题,这里就记录一下
参考链接 Unity iOS (De)SerializeObject() doesnt work
链接里面的方法好像不仅对序列化起作用 对反序列化也起作用,unity程序在ios使用Newtonsoft不能反序列化的问题我是用另一个方法解决的。这种方法有点繁琐,可以尝试本文的方法。 Unity NewtonSoft插件 反序列化json报错 Unable to find a constructor 以及 反序列化出来的对象没有值的问题
这是改之前的代码:
public class SearchConditionInfo
{
public string areaTag { get; set; }
public int exhibitionId { get; set; }
public string hallTag { get; set; }
[Preserve]
public SearchConditionInfo(string areaTag, int exhibitionId, string hallTag)
{
this.areaTag = areaTag;
this.exhibitionId = exhibitionId;
this.hallTag = hallTag;
}
[Preserve]
public SearchConditionInfo()
{
}
}
这是改之后的代码
public class SearchConditionInfo
{
public string areaTag;
public int exhibitionId;
public string hallTag;
[Preserve]
public SearchConditionInfo(string areaTag, int exhibitionId, string hallTag)
{
this.areaTag = areaTag;
this.exhibitionId = exhibitionId;
this.hallTag = hallTag;
}
[Preserve]
public SearchConditionInfo()
{
}
}