ホームページ バックエンド開発 C#.Net チュートリアル ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?

ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?

Jun 23, 2017 pm 03:17 PM
asp.net javascript json サイクル 使用 解決する

1. ネット オープン ソースの Json シリアル化ツール Newtonsoft.Json は、シリアル化の循環参照問題に対する解決策を提供します:

方法 1: Json シリアル化構成を ReferenceLoopHandling.Ignore として指定します

方法 2: JsonIgnore を指定して参照オブジェクトを無視します

例 1、MVC の Json シリアル化参照メソッドを解決します:

ステップ 1: プロジェクトに Newtonsoft.Json パッケージへの参照を追加します。コマンド: Insert-Package Newtonsoft.Json

ステップ 2: クラスを

ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?
/// <summary>/// 继承JsonResut,重写序列化方式/// </summary>public class JsonNetResult : JsonResult
{public JsonSerializerSettings Settings { get; private set; }public JsonNetResult()
    {
        Settings = new JsonSerializerSettings
        {//这句是解决问题的关键,也就是json.net官方给出的解决配置选项.                 
            ReferenceLoopHandling = ReferenceLoopHandling.Ignore
        };
    }public override void ExecuteResult(ControllerContext context)
    {if (context == null)throw new ArgumentNullException("context");if (this.JsonRequestBehavior == JsonRequestBehavior.DenyGet && string.Equals(context.HttpContext.Request.HttpMethod, "GET", StringComparison.OrdinalIgnoreCase))throw new InvalidOperationException("JSON GET is not allowed");
        HttpResponseBase response = context.HttpContext.Response;
        response.ContentType = string.IsNullOrEmpty(this.ContentType) ? "application/json" : this.ContentType;if (this.ContentEncoding != null)
            response.ContentEncoding = this.ContentEncoding;if (this.Data == null)return;var scriptSerializer = JsonSerializer.Create(this.Settings);using (var sw = new StringWriter())
        {
            scriptSerializer.Serialize(sw, this.Data);
            response.Write(sw.ToString());
        }
    }
}
ログイン後にコピー
ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?

ステップ 3: BaseController をプロジェクトに追加し、Json() メソッドを書き換えます。コードは次のようになります。

ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?
public class BaseController : Controller
{public StudentContext _Context = new StudentContext();/// <summary>/// 重写,Json方法,使之返回JsonNetResult类型/// </summary>protected override JsonResult Json(object data, string contentType,
        Encoding contentEncoding, JsonRequestBehavior behavior)
    {return new JsonNetResult
        {
            Data = data,
            ContentType = contentType,
            ContentEncoding = contentEncoding,
            JsonRequestBehavior = behavior
        };
    }
}
ログイン後にコピー
ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?

step4. いつものように使ってください

ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?
ASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?

得られた結果については、この方法では、循環参照を無視します。はい、サイクル系列を指定した後も無視します。返された JSON データにはまだ循環データがいくつかあります

EF Json シリアル化循環参照メソッド 2 を解決し、指定されたオブジェクトに JsonIgnore メソッドのアノテーションを追加します。関連オブジェクト

//获取列表public JsonResult GetList()
{
    List<student> list = _Context.students.Where(q => q.sno == "103").ToList();//方法1return Json(list);//方法2//return new JsonNetResult() {//    Data=list//};
}</student>
ログイン後にコピー

返された結果には関連テーブルデータがありません


記事の転載元:

以上がASP.NET MVC での JSON ループ呼び出しの問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Black Shark携帯電話の電源が入らない問題を解決する方法を教える5つのヒント! Black Shark携帯電話の電源が入らない問題を解決する方法を教える5つのヒント! Mar 24, 2024 pm 12:27 PM

スマートフォン技術が発展し続けるにつれて、携帯電話は私たちの日常生活においてますます重要な役割を果たしています。 Black Shark フォンは、ゲーム パフォーマンスに重点を置いたフラッグシップ フォンとして、プレイヤーから高い支持を得ています。ただし、場合によっては、Black Shark 携帯電話の電源が入らないという状況にも直面するため、この問題を解決するために何らかの措置を講じる必要があります。次に、Black Shark 携帯電話の電源が入らない問題を解決する方法を説明する 5 つのヒントを共有しましょう: ステップ 1: バッテリー残量を確認する まず、Black Shark 携帯電話に十分な電力があることを確認します。携帯電話のバッテリーが消耗している可能性があります

このデバイスにドライバーをロードできません。解決するにはどうすればよいですか? (個人的にテスト済みで有効です) このデバイスにドライバーをロードできません。解決するにはどうすればよいですか? (個人的にテスト済みで有効です) Mar 14, 2024 pm 09:00 PM

コンピューターがドライバーを読み込めない場合、デバイスが正しく動作しないか、コンピューターと正しく対話できない可能性があることは誰もが知っています。では、このデバイスにドライバーをロードできないことを示すプロンプト ボックスがコンピューターに表示された場合、問題を解決するにはどうすればよいでしょうか?以下のエディタでは、問題を簡単に解決する 2 つの方法を説明します。このデバイスにドライバーをロードできません 解決策 1. スタート メニューで「カーネル分離」を検索します。 2. メモリの整合性をオフにします。上記のメッセージには、「メモリの整合性がオフになっています。デバイスは脆弱である可能性があります。」というメッセージが表示されます。戻るボタンをクリックして無視してください。使用には影響しません。 3. マシンを再起動すると、問題が解決することがあります。

小紅書で公開するときに写真が自動的に保存される問題を解決するにはどうすればよいですか?投稿時に自動保存された画像はどこにありますか? 小紅書で公開するときに写真が自動的に保存される問題を解決するにはどうすればよいですか?投稿時に自動保存された画像はどこにありますか? Mar 22, 2024 am 08:06 AM

ソーシャルメディアの継続的な発展に伴い、Xiaohongshu はますます多くの若者が自分たちの生活を共有し、美しいものを発見するためのプラットフォームとなっています。多くのユーザーは、画像を投稿する際の自動保存の問題に悩まされています。では、この問題をどうやって解決すればよいでしょうか? 1.小紅書で公開するときに写真が自動的に保存される問題を解決するにはどうすればよいですか? 1. キャッシュをクリアする まず、Xiaohongshu のキャッシュ データをクリアしてみます。手順は次のとおりです: (1) 小紅書を開いて右下隅の「マイ」ボタンをクリックします。 (2) 個人センター ページで「設定」を見つけてクリックします。 (3) 下にスクロールして「」を見つけます。 「キャッシュをクリア」オプションを選択し、「OK」をクリックします。キャッシュをクリアした後、Xiaohongshu を再起動し、写真を投稿して、自動保存の問題が解決されるかどうかを確認します。 2. 小紅書バージョンを更新して、小紅書が正しく動作することを確認します。

Oracleに中国語データをインポートする際の文字化けの問題を解決するにはどうすればよいですか? Oracleに中国語データをインポートする際の文字化けの問題を解決するにはどうすればよいですか? Mar 10, 2024 am 09:54 AM

タイトル: 中国語データを Oracle にインポートする際の文字化けの問題を解決する方法とコード例。中国語データを Oracle データベースにインポートすると、文字化けが頻繁に発生します。これは、データベースの文字セット設定が間違っているか、インポート中のエンコード変換の問題が原因である可能性があります。プロセス。 。この問題を解決するには、インポートされた中国語データが正しく表示されるようにするためのいくつかの方法を講じることができます。以下に、いくつかの解決策と具体的なコード例を示します。 1. データベースの文字セット設定を確認します。 Oracle データベースでは、文字セット設定は次のとおりです。

PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント PHP 配列を JSON に変換するためのパフォーマンス最適化のヒント May 04, 2024 pm 06:15 PM

PHP 配列を JSON に変換するためのパフォーマンスの最適化方法には、JSON 拡張機能と json_encode() 関数の使用、文字エスケープを回避するためのバッファーの使用、およびサードパーティのエンコード結果の使用の検討が含まれます。 JSONエンコーディングライブラリ。

Black Shark 携帯電話充電のトラブルシューティングと解決策 Black Shark 携帯電話充電のトラブルシューティングと解決策 Mar 22, 2024 pm 09:03 PM

Black Shark は、強力なパフォーマンスと優れたゲーム体験で知られ、ゲーマーやテクノロジー愛好家に愛されているスマートフォン ブランドです。ただし、他のスマートフォンと同様に、Black Shark の携帯電話にもさまざまな問題があり、その中でよくあるのが充電の失敗です。充電障害は携帯電話の通常の使用に影響を与えるだけでなく、より深刻な問題を引き起こす可能性があるため、充電の問題を時間内に解決することが非常に重要です。この記事では、Black Shark 携帯電話の充電不良の一般的な原因から始まり、充電の問題のトラブルシューティングと解決方法を紹介し、読者が Black Shark 携帯電話の問題を解決するのに役立つことを願っています。

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化をどのように制御しますか? May 06, 2024 pm 10:09 PM

Jackson ライブラリのアノテーションは、JSON のシリアル化と逆シリアル化を制御します。 シリアル化: @JsonIgnore: プロパティを無視します @JsonProperty: 名前を指定します @JsonGetter: get メソッドを使用します @JsonSetter: set メソッドを使用します Deserialization: @JsonIgnoreProperties: プロパティ @ JsonProperty を無視します:名前を指定 @JsonCreator: コンストラクターを使用 @JsonDeserialize: カスタム ロジック

LaravelがCSSスタイルをロードできない問題を解決する方法 LaravelがCSSスタイルをロードできない問題を解決する方法 Mar 10, 2024 am 09:12 AM

タイトル: Laravel で CSS スタイルが読み込めない問題の解決方法 Laravel を使って Web 開発をしていると、CSS スタイルが読み込めない状況が発生し、ページが異常表示されることがあります。この記事では、いくつかの一般的な原因と解決策を紹介し、参考として具体的なコード例を示します。 1. CSS ファイルのパスが正しいかどうかを確認します まず、CSS ファイルのパスが正しいことを確認します 通常、Laravel プロジェクトでは、CSS ファイルはパブリックに配置されます

See all articles