Heim >Backend-Entwicklung >C++ >Warum produziert meine JSON.NET-Serialisierung doppelte JSON-Saiten?

Warum produziert meine JSON.NET-Serialisierung doppelte JSON-Saiten?

Susan Sarandon
Susan SarandonOriginal
2025-01-24 21:41:09582Durchsuche

Why is my JSON.NET Serialization Producing Double-Encoded JSON Strings?

json.net Serialisierungsproblem

Auszug der Frage

Bei Verwendung der

-Methode von json.net wird das Objekt mit Dual serialisiert, was zu einem JSON -Antwortfehler führt. Die Antwort wurde in die Anführungssitzungen eingewickelt, und die eingebetteten Anführungszeichen wurden ebenfalls transformiert, was zu JSON -Ungültigkeit führte.

JsonConvert.SerializeObject root

Dieses Problem tritt normalerweise bei der Rückgabe einer Zeichenfolge auf, die mit JSON.NET serialisiert wurde, die vom WebAPI -Controller serialisiert wurden. Der Controller serialisiert anschließend die Zeichenfolge mit dem JavaScript -String -Wort, was zur doppelten Serialisierung führt.

Lösung

Um dieses Problem zu lösen, geben Sie das Objekt selbst zurück, nicht die Zeichenfolge. Auf diese Weise verarbeitet der API -Controller die Serialisierung gemäß dem Anforderungsparameter, sodass JSON.NET das Objekt korrekt serialisieren kann. Dies beseitigt die Doppelserialisierung und stellt sicher, dass die generierte JSON -Reaktion wirksam ist.

Beispiel

Durch die Erneuerung des Rückgabetyps als tatsächliche Art eines serialisierten Objekts serialisiert der Controller die Ergebnisse ordnungsgemäß, um das Problem der Dual -Sequentialisierung zu lösen.

Informationen hinzufügen

Weitere Informationen zu serialisierten in WebAPI finden Sie in den folgenden Ressourcen:
<code class="language-csharp">// 原代码:双重序列化
public string GetFoobars() {
    var foobars = ...;
    return JsonConvert.SerializeObject(foobars);
}

// 更新后的代码:直接返回对象
public IEnumerable<Foobar> GetFoobars() {
    var foobars = ...;
    return foobars;
}</code>

JSON und XML -Serialisierung in der ASP.NET -Web -API

Das obige ist der detaillierte Inhalt vonWarum produziert meine JSON.NET-Serialisierung doppelte JSON-Saiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn