【发布时间】:2015-02-03 17:04:48
【问题描述】:
当我序列化一个没有指定修订或内部版本号的版本对象时,它不能被反序列化。有人见过这个吗?
这是我的代码:
JsonSerializerSettings JsonSettings = new JsonSerializerSettings()
{
TypeNameHandling = TypeNameHandling.Objects,
DateFormatHandling = DateFormatHandling.IsoDateFormat,
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
NullValueHandling = NullValueHandling.Ignore
};
var ver = new Version(1000, 1);
var str = JsonConvert.SerializeObject(ver, Newtonsoft.Json.Formatting.Indented, JsonSettings);
var ver2 = JsonConvert.DeserializeObject(str, JsonSettings);
这实际上是有道理的,因为 json 字符串是:
{
"$type": "System.Version, mscorlib",
"Major": 1000,
"Minor": 1,
"Build": -1,
"Revision": -1,
"MajorRevision": -1,
"MinorRevision": -1
}
无论如何我可以在不设置 Revision 和 Build 的情况下反序列化它吗?
【问题讨论】:
-
你能显示
Version类吗? -
你期待什么?哪里有问题?你有什么问题?
-
我希望能够反序列化它,但我不能
-
没关系,我没有意识到有一个
System.Version类。
标签: c# json serialization json.net deserialization