...それは、保存オブジェクト参照でとここにありますdocumentationへのリンクは:
は、私はあなたが経験しているものを、doucmentationでexmpleに類似していること、言う
いくつかの抽出物が(しかし、目を参照してください。 eドキュメント):
2人でコレクションpoepleを持ってみましょう。小さなトリックで:PreserveReferencesHandling
このような
string json = JsonConvert.SerializeObject(
people,
Formatting.Indented,
new JsonSerializerSettings
{
PreserveReferencesHandling = PreserveReferencesHandling.Objects
});
を設定する私たちは、このような結果を得ることができます。私たちが見ることができる何
[
{
"$id": "1",
"Name": "James",
"BirthDate": "1983-03-08T00:00Z",
"LastModified": "2012-03-21T05:40Z"
},
{
"$ref": "1"
}
]
、あなたが経験を何最も可能性が高いです。だからPreserveReferencesHandling.Objects
あなたのコードの設定のようです。デフォルトJson.NETではそれが 値によって発生したすべてのオブジェクトをシリアライズします...
:
new JsonSerializerSettings
{
PreserveReferencesHandling = PreserveReferencesHandling.None;
}
とドキュメントのように:だから、明示的にこのようななしに設定してみてください。リストには、2つの参照が含まれており、同じオブジェクトへの参照の両方 ポイントなら、JsonSerializerだから、これはデフォルト設定する必要があります
...各参照のためのすべての 名前と値を書き出します再び
もう一つの興味深い読書:循環参照について Serializing Circular References
1ニースの記事。 –