2017-03-29 4 views
1

Ich implementiere WCF Rest Service für eine mobile App.Escapezeichen in WCF-Serviceanrufen

Dies ist einer der Eigenschaft Rückgabeobjekt ist, das ich auf Antwort eines Service-Aufruf erhalten:

"flagURL":"http:\/\/localhost\/testservice\/img\/CountryFlags\/Ireland.png" 

Wenn ich den Code dort debuggen ist kein Escape-Zeichen ‚/‘ und json sieht wie folgt aus

"flagURL":"http:\\localhost\testservice\img\CountryFlags\Ireland.png" 

Wie fügt der Dienst der obigen Eigenschaft ein Escape-Zeichen hinzu? Was soll ich tun, um das zu beheben?

+0

Mögliche Duplikat [Die URL in json enthält Schrägstriche] (http://stackoverflow.com/questions/19130605/the-url-in-json-contains-backslashes) –

Antwort

0

Ihr JSON wird doppelt serialisiert. (Die zusätzlichen Backslashes im JSON sind symptomatisch dafür.) Damit es funktioniert, müssen Sie sicherstellen, dass die Ausgabe nur einmal serialisiert wird.

gibt es eine einfache Lösung dafür. nur zurückgeben stream außer string:

public stream checkSymbolExistJson(string pSymbol) 
    { 
     Person p = new Person(); 
     p.name  = pSymbol; 
     p.age  = 15; 

    string json = JsonConvert.SerializeObject(p); 
    return new MemoryStream(Encoding.UTF8.GetBytes(json)); 
    } 
Verwandte Themen