是否有任何库将带有引用的C#对象转换为dojox.json.ref兼容的JSON?

时间:2012-01-11 18:19:37

标签: c# javascript json dojo

我想将一些带有循环引用的.NET对象序列化为兼容的JSON,并且可以使用Dojo库dojox.json.ref进行解析和解析。 This library允许序列化以下内容:

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库解析。那里有什么东西吗?

1 个答案:

答案 0 :(得分: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