Laden...

json object serialisierung liefert //

Erstellt von ingemar vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.468 Views
I
ingemar Themenstarter:in
194 Beiträge seit 2005
vor 13 Jahren
json object serialisierung liefert //

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!

134 Beiträge seit 2007
vor 13 Jahren

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

3.170 Beiträge seit 2006
vor 13 Jahren

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

134 Beiträge seit 2007
vor 13 Jahren

Wieder was dazu gelernt, und gleich verwendet 😃

I
ingemar Themenstarter:in
194 Beiträge seit 2005
vor 13 Jahren

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

I
ingemar Themenstarter:in
194 Beiträge seit 2005
vor 13 Jahren

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.