2012-01-11 11 views
0

JSONに循環参照を使用していくつかの.NETオブジェクトをシリアル化して、互換性がありDojoライブラリdojox.json.refで解析および解決できるようにしたいと考えています。このような参照付きのC#オブジェクトをdojox.json.ref互換JSONに変換するライブラリはありますか?

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"}} 

コードまたは私は何をしたいですThis libraryは、以下の直列化を可能にライブラリでは、C#を使用してサーバー側で、循環参照を持つオブジェクトを(上述のように参照をそのまま)JSONに変換します。このオブジェクトはdojox.json.refによって解析できますライブラリ。既にそこには何かがありますか?

答えて

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

完璧に働いて、ちょうど$を削除して、すべてうまくいきました..ありがとう! –