Ich versuche, eine Liste zu JSON-Zeichenfolge mit Json.NET zu serialisieren, aber die Rückführungszeichenfolge hat Backslash innerhalb, die ihrerseits ein JSON-Parsing fehlschlägt. Json.NET Hinzufügen Backslash beim Zurückgeben von Json serialisierte Zeichenfolge
var x = from d in entities.Books.ToList()
select new
{
ID = d.ID,
BookName = d.BookName
};
return JsonConvert.SerializeObject(x.ToList());
Der obige Code gibt
"[{\"ID\":1,\"BookName\":\"MVC Music Store - Tutorial - v3.0\"},{\"ID\":2,\"BookName\":\"Pro.ASP.NET.MVC.3.Framework\"},{\"ID\":3,\"BookName\":\"Application Architecture Guide v2\"},{\"ID\":4,\"BookName\":\"Gang of Four Design Patterns\"},{\"ID\":5,\"BookName\":\"CS4 Pocket Reference\"}]"
die alle JSON-Parsing fehlschlägt. Wie kann ich diese entfernen?
das ist seltsam, diese Backslashes sehen für mich einfach wie normale fliehende Charaktere aus. Beachten Sie, dass wenn Sie den Rückgabewert dieser Funktion im Debugger überprüfen, diese Escapezeichen an Ort und Stelle bleiben, während der tatsächliche Wert der Zeichenfolge sie nicht enthält. –
Aber während der JSON von einer Client-Seite konsumiert würde der Backslash alle Arten von Problemen verursachen. –
Aber wenn ich von Google Chrome zum Serviceendpunkt gehe, ist das, was mir zurückgegeben wird. Und auch als String, wenn Sie die Zeichenfolgen betrachten, die den JSON einschließen. –