我有一个对象,我想将其序列化为Unity中的json,以便通过REST调用发送给服务。在.NET中,我知道你可以很容易地忽略空属性。
[JsonProperty("some_model", NullValueHandling = NullValueHandling.Ignore)]
public class SomeModel
{
....
}
这可以在Unity中使用FullSerializer吗?
目前我有
fsData data = null;
fsResult r = sm_Serializer.TrySerialize(objectToSerialize, out data);
string sendjson = data.ToString();
是否有类似的属性可以使用FullSerializer添加到DataModel中?
[fsObject(ignoreNullProperties)]
public class SomeModel
{
....
}
发布于 2017-06-23 06:29:41
看起来一个答案是自定义转换器。
private static fsSerializer sm_Serializer = new fsSerializer();
[fsObject(Converter = typeof(CustomConverter))]
public class SomeClass
{
string MyProp { get; set; }
}
public class CustomConverter : fsConverter
{
private static fsSerializer sm_Serializer = new fsSerializer();
public override bool CanProcess(Type type)
{
return type == typeof(SomeClass);
}
public override fsResult TryDeserialize(fsData data, ref object instance, Type storageType)
{
throw new NotImplementedException();
}
public override fsResult TrySerialize(object instance, out fsData serialized, Type storageType)
{
SomeClass someClass = (SomeClass)instance;
serialized = null;
Dictionary<string, fsData> serialization = new Dictionary<string, fsData>();
fsData tempData = null;
if (someClass.MyProp != null)
{
sm_Serializer.TrySerialize(someClass.MyProp, out tempData);
serialization.Add("myProp", tempData);
}
serialized = new fsData(serialization);
return fsResult.Success;
}
}
这是工作,但任何其他建议是非常感谢!
https://stackoverflow.com/questions/44707854
复制相似问题