현재 웹 메서드 호출에서 string
을 반환합니다. iOS 기기가 가져 오는 iOS가 JSON 개체의 문자열 표현 인이 데이터를 가져 오면 \n\r
문자와 여러 개의 백 슬래시 (\
)를 포함하므로 iOS 장치는이를 유효한 JSON으로 인식하지 못합니다. 아래 참조 :내 .NET 웹 서비스 메서드가 JSON 결과를 호출 클라이언트 (iOS 장치)로 반환해야하지만 r n의 무리를 반환합니다.
"{\ 연구 \ 없음 \"byteData \ "\". UEsDBAoAAAAAALlp ... 등 "
때문에 내가하는 모든 결함 코드 below-의가 있는지 확실하지 않다 ? 당신은 내가 잘못 아래에하고 있어요 볼 것을 나는 JSON.NET이 사용하고
[HttpGet]
public string GetTpkMap(string fileName)
{
// go out to file share to get map
string sharePath = string.Format(@"\\server\shared\TPK\{0}", fileName + ".tpk");
FileStream fs = File.Open(sharePath, FileMode.Open, FileAccess.Read);
// load FileStream into a byte array
int length = (int)fs.Length;
byte[] data = new byte[length];
fs.Read(data, 0, length);
fs.Close();
// convert byteData to a Base64String to pass back to the client
string strData = Convert.ToBase64String(data);
dynamic tpkByteData = new JObject();
tpkByteData.byteData = strData;
JObject val = (JObject)JToken.FromObject(tpkByteData);
return val.ToString();
}
이 문자열을 어디서 검사하고 있습니까? \ r \ n은 return/linefeed이고 \ "는 도구가 문자열의 끝이 아님을 나타 내기 위해 종종" "표시 방법입니다. –
글쎄, 새로운 라인과 캐리지 리턴 문자 때문에 iOS 장치가 이것을 유효한 JSON으로 인식하지 못합니다. 이 문자열은 iOS 개발자의 iOS 기기에서 전송되었습니다. –
반환 결과를 serialize 할 필요가 없다고 생각합니다. MVC가 대신 해드 리도록하겠습니다. 'public ActionResult GetTpkMap (string fileName) 시도한 적이 있습니까? { \t return Json (new {byteData = strData}); }'? – I4V