Wie kann eine Zeichenfolge, die JSON mit Escapezeichen enthält, sicher in gültiges JSON konvertiert werden?

Ich kommuniziere mit einer Drittanbieter-API, die JSON-Antworten wie folgt zurückgibt:

"{\"SomeResponse\":{\"FIrstAttribute\":8,\"SecondAttribute\":\"On\",\"ThirdAttribute\":{\"Id\":2,\"FirstName\":\"Okkie\",\"Name\":\"Bokkie\",\"Street\":\"\",\"StreetNumber\":null,\"PostCode\":\"\",\"City\":\"\",\"Country\":\"}}}"

It ist eine Art von JSON ... aber als String. Beachten Sie die ersten und letzten Anführungszeichen und natürlich alle Escape-Schrägstriche.

Derzeit löse ich dies durch String.Replacing die Backslashes und das erste und das Endzitat. Danach kann ich es analysieren.

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

Was aber, wenn eines der Attribute tatsächlich einen Backslash als Wert hat? Beispielsweise

\"SecondAttribute\":\"My Super Back Slash: \\ . That was it.\"

In diesem Fall würde ich versehentlich den Backslash entfernen, der im Wert enthalten sein sollte.

Hat jemand eine gute Idee, wie man diesen JSON-String richtig parst?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage