2012-01-11 38 views
0

我想將一些帶有循環引用的.NET對象序列化爲兼容的JSON,並且可以使用Dojo庫dojox.json.ref進行分析和解析。 This library允許以下的系列化:是否有任何庫將具有引用的C#對象轉換爲兼容JSON的dojox.json.ref?

var obj = {}; 
obj.me = obj; 

這樣的:

var jsonWithCircularRef = dojox.json.ref.toJson(obj); 
obj = dojox.json.ref.fromJson(jsonWithCircularRef); 
obj.me == obj // -> true, the reproduced object will 
    //have a property named "me" with a value of itself. 

的JSON(有完整的引用)是這樣的:

{"id":"1","me":{"$ref":"1"}} 

我要的是代碼或庫,它允許我在服務器端使用C#將具有循環引用的對象轉換爲JSON(引用完好無損,如上所示),可由dojox.json.ref解析ibrary。那裏有什麼東西嗎?

回答

4

JSON.Net(http://json.codeplex.com/)庫可以使用保存的引用序列化對象圖。生成的JSON的語法與您的示例幾乎相同,唯一的區別是'id'是'$ id'。我不知道Dojo是否可以處理這個問題。如果沒有,JSON.Net庫是開放源代碼的,所以你可以添加一個用於Dojo兼容語法的選項。

JSON.Net庫也很好地記錄。以下是保存參考文獻的頁面:http://james.newtonking.com/projects/json/help/PreserveObjectReferences.html

+0

工作完美,只是刪除$和一切都很好..謝謝! – 2012-01-12 20:14:14

相關問題