hallo,
ich habe folgendes problem beim serialisieren eines jsonobjekts bekomme ich zb. für einen string der asdf\p... heißt asdf\p zurück, was dann beim deserialisieren am server zu einer exception führt. bin jetzt schon lange auf der suche nach einer lösung und bin auf JSON.parse + JSON.stringify gestoßen. das problem ist jetzt, wie setze ich diese zwei methoden richtig ein und ist es überhaupt ein richtiger lösungsansatz?
vielen dank!
Bei mir hat es geholen, Sonderzeichen mit ihrem jeweiligen HEX-Equivalent zu Kodieren. Die entsprechende Tabelle findest du hier: http://www.asciitable.com/
Aus \p wird dann zum Beispiel %5C%5Cp
Viele Grüße
Tobias
Hallo,
Sonderzeichen mit ihrem jeweiligen HEX-Equivalent zu Kodieren
Diese Arbeit braucht man aber nicht von Hand zu machen. Dafür gibt's die HttpUtility.UrlPathEncode und
HttpUtility.UrlEncode-Methoden.
Gruß, MarsStein
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
vielen dank für eure antworten!
ich bin jetzt gerade am probieren, bekomme es aber nicht zum laufen mit dem HttpUtility methoden. denn das deserialisieren des JSON strings zu einem .net objekt schlägt weiterhin fehl. ich habe ein array mit user einträgen und ein beispiel eintrag wäre domäne\p..., am server erhalte ich dann domäne\p als string und daher funktioniert das deserialisieren nicht. ich verwende newtonsoft zum deserialisieren des strings in ein .net objekt.
lg
ingemar
problem gelöst! eigentlich eh ganz einfach wenn man weiß wie 😉
var usersArray = null;
if (users.value != "") {
var tmp = users.value.split(", ");
usersArray = new Array()
for (i = 0; i < tmp.length; i++) {
var user = tmp[i].replace("\\", "\\\\");
usersArray.push(user);
}
}
damit kann der jsonconverter arbeiten und ich erhalte den richtigen string value für die db abfrage.