sto comunicando con un terzo API parti che restituisce le risposte JSON come segue:Come convertire in sicurezza una stringa contenente JSON con caratteri escape in JSON valido?
"{\"SomeResponse\":{\"FIrstAttribute\":8,\"SecondAttribute\":\"On\",\"ThirdAttribute\":{\"Id\":2,\"FirstName\":\"Okkie\",\"Name\":\"Bokkie\",\"Street\":\"\",\"StreetNumber\":null,\"PostCode\":\"\",\"City\":\"\",\"Country\":\"}}}"
E 'sorta di JSON ... ma come una stringa. Notare le citazioni doppie di prima e di fine e, naturalmente, tutte le barre di escape.
Attualmente risolvo questo problema con String.Riplaccando le barre inverse e la prima e ultima quota. Dopo ciò, sono in grado di analizzarlo.
mystring.Replace("\\", "");
Tuttavia, cosa succede se uno degli attributi ha in realtà una barra rovesciata come un valore? Per esempio:
\"SecondAttribute\":\"My Super Back Slash: \\ . That was it.\"
In tal caso, vorrei rimuovere accidentalmente il backslash che dovrebbe essere lì nel valore.
Qualcuno ha un'idea brillante su come analizzare correttamente questa stringa JSON?
Come stai vedendo la versione che hai postato? In realtà * contiene * tutti quei backslash o lo stai guardando nel debugger? Se lo si salva nella console con 'Console.WriteLine', che aspetto ha? –
No, contiene davvero tutte queste barre. Controllato che già. Non è il debugger tristemente. – Gonzalioz
Ottengo questo anche quando si effettua una richiesta API nel browser utilizzando Chrome. – Gonzalioz