我需要使用最新的(4.0.3)Json.NET库对包含System.Uri属性的对象进行序列化和反序列化。
以下代码演示了该问题:
string input = "http://test.com/%22foo+bar%22";
Uri uri = new Uri(input);
string json = JsonConvert.SerializeObject(uri);
Uri output = JsonConvert.DeserializeObject<Uri>(json);
Run Code Online (Sandbox Code Playgroud)
DeserializeObject方法抛出JsonReaderException。在4.0.2。下可以正常工作。
我已经通过测试和修补程序在Codeplex上提交了一个问题,以解决该问题,但是作者发布固定版本似乎需要一点时间。
同时,我能做些什么(使用JsonSettings或其他方法)来使最新版本按预期工作吗?
到目前为止,我有几个选择: