使用Newtonsoft.Json庫,想象我有適當的Json.net System.Object往返?
public class Test
{
public Object Obj { get; set; }
}
現在,試圖序列這種像這樣
var json = JsonConvert.SerializeObject(new Test(){ Obj = new Uri(@"http://www.google.com") });
...會給我下面的JSON
{
"Obj": "http://www.google.com"
}
這顯然沒有足夠的信息反序列化成Uri對象,事實上,嘗試反序列化它會給我一個String對象。
是否有任何現有的方法來正確序列化和反序列化這裏的類型信息,以便該對象將作爲Uri而不是字符串讀回?在這種特殊情況下,我只是試圖與.NET應用程序進行交互,並且確切類型被反序列化是非常重要的。
在此先感謝。
謝謝。如果System.Object始終是Uri,這確實可以解決問題,但不幸的是它不是(否則我只需更改類聲明中的類型)。 – Devknoll
+1真棒,我已經使用了JSON.NET多年,並不知道它是這樣複雜的東西! – Andomar
您應該能夠重寫轉換器以處理您的方案,確定該字符串是否是Uri並將其作爲Uri返回。我將爲你的場景重寫轉換器 – workoholic