2017-03-29 1 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의 여분의 백 슬래시는 이것에 대한 증상입니다.) 제대로 작동하려면 출력을 한 번만 serialize해야합니다.

거기에 대한 간단한 해결책이 있습니다. 단지 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)); 
    } 
관련 문제