2010-03-10 1 views
2

최신 버전의 jQuery (1.4.2)를 사용하기 위해 jQuery 1.3.2를 사용하는 응용 프로그램을 업그레이드하면서 WCF 데이터 서비스 (a.k.a. ADO.NET Data Services, a.k.a. Astoria)를 사용합니다. jQuery 1.4가 더 엄격한 JSON 구문 분석을 사용하기 때문에 JSON 구문 분석 오류로 인해 현재 응용 프로그램이 작동하지 않습니다.WCF Data Services는 잘못된 JSON을 반환합니까?

다양한 JSON 검사기를 통해 데이터 서비스에서 반환 된 JSON을 실행했으며 URI 문자열에서 이스케이프 처리와 관련된 문제가있는 것으로 보입니다.

{ 
    "d" : { 
     "__metadata": { 
      "uri": "http://foo.com/Services/Foo.svc/Foos(guid\'g17a49d5-fd66-4b2d-bd5f-e6245ec3e268\')" } } } 

구문 분석 오류가 '\'작은 따옴표의 탈출로이다 (I 불필요한 정보를 제거하도록 수정했습니다.) : 내 JSON은 다음과 같습니다. 이스케이프 문자를 제거하면 JSON이 완전히 구문 분석합니다.

누구든지이 문제가 있었거나 해결되었거나 회피가 되었습니까?

감사합니다.

답변

2

이것은 .NET 3.5 SP1 & 후속 업데이트의 데이터 서비스 버그입니다. 이 문제는 .NET 4.0 릴리스에서 수정 될 예정입니다.

+0

응답 해 주셔서 감사합니다. 마이크. 필자는 당분간 jQuery가 1.4 이전에 사용했던 eval 기반 JSON 파싱 메서드로 코드를 되돌 리도록함으로써이 문제를 해결했습니다. 일단 앱을 .NET 4.0으로 옮기면 그 변화를 되돌릴 수 있기를 기대합니다. –

+0

.NET 3.5 (.NET Framework 3.5 SP1 용 ADO.NET 데이터 서비스 업데이트 - 새로 고침)에서이 문제에 대한 핫픽스가 있습니다. 다음을 참조하십시오 : http://blogs.msdn.com/b/astoriateam/archive/2010/05/08/ado-net-data-services-update-for-net-framework-3-5-sp1-refresh.aspx – Kamarey