


Wie kann das Problem des JSON-Schleifenaufrufs in ASP.NET MVC gelöst werden?
1. Das Open-Source-Json-Serialisierungstool Newtonsoft.Json bietet eine Lösung für das Zirkelverweisproblem der Serialisierung:
Methode 1: Geben Sie die Json-Serialisierungskonfiguration als ReferenceLoopHandling.Ignore an
Methode 2: Geben Sie JsonIgnore an, um das Referenzobjekt zu ignorieren.
Beispiel 1: Lösen Sie die Json-Serialisierungsreferenzmethode von MVC:
Schritt 1: Fügen Sie einen Verweis auf Newtonsoft.Json hinzu Paket für das Projekt, Befehl: Insert-Package Newtonsoft.Json
Schritt 2: Fügen Sie dem Projekt eine Klasse hinzu und erben Sie JsonResult. Der Code lautet wie folgt:

/// <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()); } } }
Schritt 3: BaseController zum Projekt hinzufügen und neu schreiben Bei der Json()-Methode lautet der Code wie folgt:

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 }; } }
Schritt 4. Einfach wie gewohnt verwenden

//获取列表public JsonResult GetList() { List<student> list = _Context.students.Where(q => q.sno == "103").ToList();//方法1return Json(list);//方法2//return new JsonNetResult() {// Data=list//}; }</student>
Die erhaltenen Ergebnisse zeigen, dass diese Methode angibt, Zirkelverweise zu ignorieren. Wird sie nach der Angabe des Zyklus ignoriert? Serie? In den zurückgegebenen JSON-Daten oder Es gibt einige zirkuläre Daten
Um die EF Json-Serialisierungs-Zirkelreferenzmethode 2 zu lösen, fügen Sie die Annotation der JsonIgnore-Methode hinzu für das angegebene zugehörige Objekt
[JsonIgnore]public virtual ICollection<score> scores { get; set; }</score>
Die zurückgegebenen Ergebnisse enthalten keine zugehörigen Tabellendaten
Der Artikel ist reproduziert von:
Das obige ist der detaillierte Inhalt vonWie kann das Problem des JSON-Schleifenaufrufs in ASP.NET MVC gelöst werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Da sich die Smartphone-Technologie ständig weiterentwickelt, spielen Mobiltelefone eine immer wichtigere Rolle in unserem täglichen Leben. Als Flaggschiff-Telefon mit Schwerpunkt auf Spieleleistung erfreut sich das Black Shark-Telefon bei Spielern großer Beliebtheit. Manchmal sind wir jedoch auch mit der Situation konfrontiert, dass das Black Shark-Telefon nicht eingeschaltet werden kann. Zu diesem Zeitpunkt müssen wir einige Maßnahmen ergreifen, um dieses Problem zu lösen. Als Nächstes geben wir Ihnen fünf Tipps, wie Sie das Problem lösen können, dass sich das Black Shark-Telefon nicht einschaltet: Schritt 1: Überprüfen Sie zunächst die Akkuleistung. Stellen Sie zunächst sicher, dass Ihr Black Shark-Telefon über genügend Strom verfügt. Möglicherweise ist der Akku des Telefons leer

Jeder weiß, dass das Gerät möglicherweise nicht richtig funktioniert oder nicht richtig mit dem Computer interagiert, wenn der Computer den Treiber nicht laden kann. Wie lösen wir also das Problem, wenn auf dem Computer eine Meldung angezeigt wird, dass der Treiber auf diesem Gerät nicht geladen werden kann? Der unten stehende Editor zeigt Ihnen zwei Möglichkeiten, wie Sie das Problem einfach lösen können. Der Treiber kann auf diesem Gerät nicht geladen werden. Lösung 1. Suchen Sie im Startmenü nach „Kernel Isolation“. 2. Deaktivieren Sie die Speicherintegrität. Die Meldung oben lautet: „Die Speicherintegrität wurde deaktiviert. Ihr Gerät ist möglicherweise anfällig.“ Klicken Sie einfach darauf und ignorieren Sie es. 3. Das Problem kann nach einem Neustart der Maschine behoben werden.

Durch die kontinuierliche Entwicklung der sozialen Medien ist Xiaohongshu zu einer Plattform für immer mehr junge Menschen geworden, auf der sie ihr Leben teilen und schöne Dinge entdecken können. Viele Benutzer haben beim Posten von Bildern Probleme mit der automatischen Speicherung. Wie kann man dieses Problem lösen? 1. Wie kann das Problem des automatischen Speicherns von Bildern beim Veröffentlichen auf Xiaohongshu gelöst werden? 1. Cache leeren Zuerst können wir versuchen, die Cache-Daten von Xiaohongshu zu löschen. Die Schritte sind wie folgt: (1) Öffnen Sie Xiaohongshu und klicken Sie auf die Schaltfläche „Mein“ in der unteren rechten Ecke. (2) Suchen Sie auf der persönlichen Center-Seite nach „Einstellungen“ und klicken Sie darauf. (3) Scrollen Sie nach unten und suchen Sie nach „; Option „Cache löschen“. Klicken Sie auf „OK“. Nachdem Sie den Cache geleert haben, geben Sie Xiaohongshu erneut ein und versuchen Sie, Bilder zu posten, um zu sehen, ob das Problem mit dem automatischen Speichern behoben ist. 2. Aktualisieren Sie die Xiaohongshu-Version, um sicherzustellen, dass Ihr Xiaohongshu

Titel: Methoden und Codebeispiele zur Lösung des Problems verstümmelter chinesischer Daten, die in Oracle importiert werden. Beim Importieren chinesischer Daten in die Oracle-Datenbank treten häufig verstümmelte Zeichen auf. Dies kann auf falsche Datenbank-Zeichensatzeinstellungen oder Probleme bei der Kodierungskonvertierung zurückzuführen sein. . Um dieses Problem zu lösen, können wir einige Methoden anwenden, um sicherzustellen, dass die importierten chinesischen Daten korrekt angezeigt werden können. Im Folgenden finden Sie einige Lösungen und spezifische Codebeispiele: 1. Überprüfen Sie die Zeichensatzeinstellungen der Datenbank. In der Oracle-Datenbank sind die Zeichensatzeinstellungen

Zu den Leistungsoptimierungsmethoden für die Konvertierung von PHP-Arrays in JSON gehören: Verwendung von JSON-Erweiterungen und der Funktion json_encode(); Verwendung von Puffern zur Verbesserung der Leistung der Schleifencodierung; JSON-Codierungsbibliothek.

Black Shark ist eine Smartphone-Marke, die für ihre starke Leistung und ihr hervorragendes Spielerlebnis bekannt ist. Sie wird von Gamern und Technikbegeisterten geliebt. Allerdings treten bei Black Shark-Telefonen, genau wie bei anderen Smartphones, verschiedene Probleme auf, unter anderem kommt es häufig zu Ladefehlern. Ein Ladefehler beeinträchtigt nicht nur die normale Nutzung des Mobiltelefons, sondern kann auch schwerwiegendere Probleme verursachen. Daher ist es sehr wichtig, das Ladeproblem rechtzeitig zu lösen. Dieser Artikel beginnt mit den häufigsten Ursachen für Ladefehler bei Black Shark-Mobiltelefonen und stellt Methoden zur Fehlerbehebung und Lösung von Ladeproblemen vor. Ich hoffe, dass er den Lesern bei der Lösung von Ladeproblemen bei Black Shark-Telefonen helfen kann.

Anmerkungen in der Jackson-Bibliothek steuern die JSON-Serialisierung und -Deserialisierung: Serialisierung: @JsonIgnore: Ignorieren Sie die Eigenschaft @JsonProperty: Geben Sie den Namen an @JsonGetter: Verwenden Sie die get-Methode @JsonSetter: Verwenden Sie die set-Methode Deserialisierung: @JsonIgnoreProperties: Ignorieren Sie die Eigenschaft @ JsonProperty: Geben Sie den Namen @JsonCreator an: Verwenden Sie den Konstruktor @JsonDeserialize: Benutzerdefinierte Logik

Titel: So lösen Sie das Problem, dass Laravel keine CSS-Stile laden kann. Bei der Verwendung von Laravel für die Webentwicklung kommt es manchmal vor, dass CSS-Stile nicht geladen werden können, was zu einer abnormalen Anzeige der Seite führen kann. In diesem Artikel werden einige häufige Ursachen und Lösungen vorgestellt und spezifische Codebeispiele als Referenz bereitgestellt. 1. Überprüfen Sie zunächst, ob der CSS-Dateipfad korrekt ist. Normalerweise wird die CSS-Datei in Laravel-Projekten öffentlich platziert
