我想将一些带有循环引用的.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
库解析。那里有什么东西吗?
答案 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。