Hallo,
ich möchte ein JSON parsen und verwende dafür folgenden Code:
string _json = "";
var serializer = new JavaScriptSerializer();
var data = serializer.Deserialize(_json, typeof(object));
Im ersten Schritt setze ich _json auf
string _json = "{\"Attributes\":[{\"id\":\"1\",\"file\":\"D:\\test.pdf\"}],\"ErrorID\":\"0\"}"
Damit klappt es wunderbar. Ändere ich den Wert allerdings von "test.pdf" auf "stefan.pdf" oder "alex.pdf" dann gibt es folgende Exception:
Nicht erkannte Escapesequenz. (37): {"Attributes":[{"id":"1","file":"D:\alex.pdf"}],"ErrorID":"0"}
Ich hab echt keinen blassen Schimmer, wieso dies nicht klappt... Bin total verwundert 😃 Bin für jeden Tipp dankbar!!!
Gruß
Stefan
{"Attributes":[{"id":"1","file":"D:\alex.pdf"}],"ErrorID":"0"}
ist so auch nicht gültig.
{"Attributes":[{"id":"1","file":"D:\\alex.pdf"}],"ErrorID":"0"}
wäre es.
Ansonsten würdest Du versuchen \a
zu escapen (entspricht auch dem Position Deiner Fehlermeldung: Zeichen Nr 37)
PS: verwende besser Json.NET von Newtonsoft.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Hi,
danke für deine schnelle Antwort. Ich nutze bereits
string _json = "{\"Attributes\":[{\"id\":\"1\",\"file\":\"D:\\alex.pdf\"}],\"ErrorID\":\"0\"}"
D:\alex.pdf zeigt er in der Exception an 😃
Wieso sollte denn \a und \s escaped werden?
Gruß
Stefan
Es geht darum, dass Du Den Backslash escapen musst.
Aus D:\ wird eben D:\
In Deinem _json String brauchst Du also 4 \ vor alex.pdf und nicht 2.
Tipp: [FAQ] Was bedeutet das @ (=at) vor String-Literalen? Und: Wissenswertes zu Escape-Sequenzen
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code