2017-03-29 14 views
1

モバイルアプリケーション用のWCF Rest Serviceを実装しています。WCFサービスコールのエスケープ文字

これは私がサービスコールの応答に乗るリターンオブジェクトのプロパティのいずれかです。私はコードをデバッグするとき

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

が「/」はエスケープ文字ではない、とJSONは、この

ようになります。
"flagURL":"http:\\localhost\testservice\img\CountryFlags\Ireland.png" 

サービスはどのように上記のプロパティにエスケープ文字を追加しますか?これを解決するにはどうすればよいですか?

+0

の可能性のある重複[JSONのURLがバックスラッシュが含まれている](http://stackoverflow.com/questions/19130605/the-url-in-json-contains-backslashes) –

答えて

0

JSONが二重シリアル化されています。 (JSONの余分なバックスラッシュはこれに対処しています)。動作させるには、出力が一度しかシリアル化されないようにする必要があります。

そこには簡単な解決策があります。ただstring以外streamを返す:

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)); 
    } 
関連する問題