json.js:オブジェクト間の関連

ObjectA --------> ObjectB <-----------ObjectC

このような状態のオブジェクトをjsonで変換したときに、ObjectAとObjectCが保持しているObjectBは同じオブジェクトとして復元されるか?というのを試してみました。どうもjsonだとオブジェクト間の関連は保持されずに、ObjectBのインスタンスが2つ別々にできてしまうみたいです。例えばJavaでXStreamを使うと関連まで復元してくれるので、非常に便利なのですが、同じようなことはjsonではできないのでしょうか?
ひとまずそれぞれのオブジェクトに一意なIDを付けておき、関連は対象のオブジェクトのIDを保持するだけにして、IDでオブジェクトを検索するという方法でやってみます。