2011-02-17 5 views
0

.NET을 사용하여 JSON ASP.NET 웹 서비스를 호출하려고합니다.JSON 웹 서비스 호출에서 값으로 작은 따옴표를 보내는 방법

"나는 " { county : 'whatever' } "를 보낼 때 그것은 괜찮습니다,하지만 난 예를 " { county : 'It\'s ok' }에 대한하려고하면 나는 500 Internal Server error를 얻을 수

는 코드입니다. 제가 예를하지만, 일부 게시물을 발견했습니다

 request.CookieContainer = container; 
     request.Headers.Add("X-Requested-With", "XMLHttpRequest"); 
     data = " { county : 'It\'s ok' } "; 
     buffer = Encoding.UTF8.GetBytes(data); 
     request.Method = "POST"; 
     request.ContentType = "application/json; charset=utf-8"; 
     request.ContentLength = buffer.Length; 
     request.Accept = "application/json, text/javascript, */*"; 

     using (Stream requestStream = request.GetRequestStream()) 
      requestStream.Write(buffer, 0, buffer.Length); 

     // 500 Internal server error if i use { county : 'It\'s ok' } 
     response = (HttpWebResponse)request.GetResponse(); 

     String ss; 
     using (StreamReader sr = new StreamReader(response.GetResponseStream())) 
      ss = sr.ReadToEnd(); 

나는 그것이 작동되도록 할 수 없습니다.

" { county : \"whatever\" } "" { \"county\" : \"whatever\" } "도 작동

그러나 " { county : \"It's ok\" } ", " { county : \"It\'s ok\" } " 또는 변수 작업에 작은 따옴표가 포함 된 다른 조합 중 하나.

JSON 호출에서 작은 따옴표를 보내려면 어떻게해야합니까?

친절하게 제공합니다.

답변

4

예를 들어 올바른 JSON이 포함되어 있지 않기 때문입니다.

www.jsonlint.com을 사용하여 모든 JSON 문자열의 유효성을 검사 할 수 있습니다.

ALL 키와 문자열 값은 이중 qout으로 묶어야합니다.

유효한 JSON 문자열은 다음과 같습니다

{ "county" : "It's ok" } 
1
{ "county" : "'" } // what's wrong with this? 
관련 문제