"json.netエラー:セルフ参照ループが検出された"
を解決します エンティティデータモデル(.edmx)からのプレーン古いCLRオブジェクト(POCOS)をシリアル化するを使用すると、このエラーをスローすることがあります。
JsonConvert.SerializeObject
<code>Error: Self referencing loop detected for type System.data.entity occurs.</code>を使用することにあります。 Jsonserializersettings
JsonSerializerSettings
を使用して
循環参照を処理するためのいくつかのオプションを提供しています:
JsonSerializerSettings
ReferenceLoopHandling.Error
:ReferenceLoopHandling.Serialize
:自分自身を参照するオブジェクトのシリアル化をスキップします。ReferenceLoopHandling.Ignore
jsonserializersettingsの実装
有限のネスティングがあるオブジェクトの場合、:を使用します
潜在的に無限のネスティングがあるオブジェクトの場合、
::ReferenceLoopHandling.Serialize
を使用して使用してください。
<code class="language-csharp">JsonConvert.SerializeObject(YourPOCOHere, Formatting.Indented, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Serialize });</code>
適切な設定を選択PreserveReferencesHandling.Objects
StackOverflowException
以上がjson.netを使用してエンティティフレームワークPocoオブジェクトをシリアル化するときに、「自己参照ループ検出」エラーを解決する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。