我有一个结构Vector2,当序列化为JSON时,它会在不同的平台上产生不同的输出。
正在序列化的结构:
#if XNADESIGNPROVIDED
[System.ComponentModel.TypeConverter(typeof(Microsoft.Xna.Framework.Design.Vector2TypeConverter))]
#endif
[DataContract]
[DebuggerDisplay("{DebugDisplayString,nq}")]
[DebuggerStepThrough]
public struct Vector2 : IEquatable<Vector2>
{
[DataMember]
public float X;
[DataMember]
public float Y;
}
序列化
这个结构是类的一部分,类是集合的一部分。这段代码包含在两个平台上,并在两个平台上运行。
private static readonly JsonSerializerSettings JsonSerializerSettings = new JsonSerializerSettings() { NullValueHandling = NullValueHandling.Ignore };
public string ToJson()
{
return JsonConvert.SerializeObject(this, JsonSerializerSettings);
}
public static MenuEntryCollection FromJson(string in_Data)
{
return JsonConvert.DeserializeObject<MenuEntryCollection>(in_Data);
}
来自UWP序列化程序的结果:
"SizeRelative": {
"X": 224.0,
"Y": 63.9999847
},
桌面Seralizer的结果:
"SizeRelative": "384, 64",
使用Newtonsoft Json。净值,10.0.3
为什么输出不同?
为什么一个不能加载另一个?