Json: wie man die Escape-Zeichen mit json.net richtig streift

9

Ich habe json Antwort in dem folgenden Format.

%Vor%

Ich glaube, dass json.net die Escape-Zeichen verarbeitet, und ich habe den folgenden Code verwendet, um es zu einer Wörterbuchsammlung zu deserialisieren.

%Vor%

Aber dieses JSON-Parsing löst eine Ausnahme aus "Ungültiges Eigenschaftskennzeichen:. Pfad '[0]', Zeile 1, Position 2." Könnten wir das lösen, indem wir den JSON-Antwortstring manipulieren?

    
Sharon C Lawrence 02.05.2013, 06:32
quelle

4 Antworten

15

Versuchen Sie string contentCorrected = contentCorrected.Replace(@"\", ""); vor dem Deserialisierungsprozess.

    
Bijoy K Jose 02.05.2013, 08:25
quelle
0
  1. Entfernen Sie das gesamte Zeichen "\", bevor Sie es deserialisieren. Verwenden Sie die Ersetzungsfunktion.

    yourJsonString.Replace ("\\\\\", "");

  2. Ihre JSON-Zeichenfolge ist unvollständig oder scheint nicht vom Typ List<Dictionary<string, string>>" zu sein. Korrigieren Sie den Typ, in den der Json konvertiert werden soll. Ich habe deinen JSON ein wenig wie folgt modifiziert und es hat funktioniert.

    newJson="{\" array \ ":" + yourJsonString + "}"

Mrgn 02.05.2013 06:55
quelle
0

Das Problem tritt auf, wenn in der Antwort gültige Anführungszeichen verwendet werden. Entfernen und / oder Ersetzen wird dies nicht in allen Fällen lösen. Es hat mich auch frustriert, bis ich eine einfache Lösung gefunden habe:

%Vor%     
Jos R. 06.03.2017 06:46
quelle
-1

Für mich funktioniert der folgende Code

%Vor%     
Prabhat 13.12.2016 09:57
quelle

Tags und Links