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?