Frage

Ich habe einen Test, um zu überprüfen, ob ein Element korrekt serialisiert ist

generasacodicetagpre.

Ich erhalte jedoch den folgenden Fehler beim Testfehler

generasacodicetagpre.

Es gibt eindeutig etwas Besonderes, das JSON.NET mit der Zeichenfolge tut, aber ich kann nicht herausfinden, was.

komisch ist das passiert

generasacodicetagpre.

Ich denke, es ist keine große Sache, aber ich würde gerne wissen, warum.

War es hilfreich?

Lösung

Ich habe gerade getestet und der Wert von result ist:

{"Vorname": "Vorname", "Nachname": "Nachname", "GUID": "ABCDEFGHIJK", "ID": 0}

was natürlich gegen Ihre erwartete Zeichenfolge ausfällt:

"{{\" vorname \ ": {" vorname \ ", \" Nachname \ ": \" Nachname \ ", \" GUID \ ": \" abcdefghijk \ "}}}"

Verwenden von doppelten geschweiften Klammern ist eine Escape-Sequenz nur für Format-Saiten, die in der generakoditicetagcode-Methode verwendet werden, so dass Sie eine einzelne -Trace enthalten können. Von der Composite-Formatierung MSDN-Seite :

Öffnungs- und Schließkriege werden als starten und enden a interpretiert Element formatieren. Daher müssen Sie eine Escape-Sequenz verwenden, um anzuzeigen eine buchstäbliche Eröffnungsklammer oder eine schließende Klammer. Geben Sie zwei öffnende Zahnspangen an ("{{{") im festen Text, um eine Eröffnungsspange ("{") oder zwei anzuzeigen Schluss-Zahnspangen ("}}"), um eine Abschlussstrebe anzuzeigen ("}").

Wenn Sie nicht generationstabeditagagcode verwenden, wird die doppelte Klammer buchstäblich als zwei Zahnspangen als der c # -Ditifikation 2.4.4.5 Da es sich nicht um ein Escape-Zeichen für String-Literale handelt.

Die resultierende Fehlermeldung ist verwirrend. Ich bin mir nicht sicher, ob dies daran liegt, wie der Debugger es an der GUI meldet, oder ein Fehler, mit dem sie ihre Fehlermeldung formatiert (vielleicht sind sie übermäßig aggressive Eck-Zahnspange für die Ausgabe) oder was.

Wenn Sie Ihren Test ändern, um zu sein:

generasacodicetagpre.

Dann wird ich den Verdächtigen passieren. Dies wird mit dem zusätzlichen Test mit dem generationspflichtigen Test mit dem generationspflichtigen Anruf gesichert, der Ihre doppelten Klammern an einzelne Zahnspangen ändert. Wenn Sie jetzt doppeltes Umhüllungsspaltstreifen um Ihren JSON haben, ist das ein weiteres Thema ganz, aber ich vermute, dass dies nicht Ihre Absicht ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top