2012-03-28 2 views
0

나는 단지 하나 개의 방법이있다 whih Web 서비스를 원해야javascriptserilizer 제대로 직렬화하지

[WebMethod] 
     public string GetMovies() 
     { 
      using (var dataContext = new MovieCollectionDataContext()) 
      { 
       var query = dataContext.Movies.Select(m =>new{m.Title,m.ReleaseDate}).Take(20); 
       var serializer = new JavaScriptSerializer(); 
       return serializer.Serialize(query); 
      } 
     } 

는 객체를 serilize하지만 난 방화범의 결과를 얻을 때 사용이

<?xml version="1.0" encoding="utf-8"?> 
<string xmlns="http://tempuri.org/">[{"Title":"SQL","ReleaseDate":"\/Date(1224007200000)\/"},{"Title":"Termonator Salvation","ReleaseDate":"\/Date(1224007200000)\/"}]</string> 

스피처럼 검도 및 jquery 메서드는 위의 jquery에서

var dataSource = new kendo.data.DataSource(
       { 
        transport: { 
         read: { 
          type: "POST", 
          dataType: "json", 
          url: "/MovieService.asmx/GetMovies" 
          //contentType: "application/json; charset=utf-8", 

         } 
        }, 
        change: function (e) { 
         alert(e); 

        }, 
        error: function (e) { 
         alert(e[2]); 
        }, 
        pageSize: 10, 
        schema: { 
         data: "d" 

        } 

입니다. ig를 호출해도 오류가 있습니다. 이 오류

SyntaxError: JSON.parse: unexpected character 

오티 난 정말 적절한 JSON 내 작업 할 neeed 적절한 JSON의 PLZ

답변

0

정확히 분석하려고 무엇을 얻기 위해 좀 도와주세요? 전체 응답은 json이 아니라 XML이기 때문에 구문 분석되지 않습니다. 문자열 요소의 값을 구문 분석하려는 경우 따옴표로 묶어야합니다.

업데이트 :

이 블로그 게시물은 ASMX 서비스에서 JSON을 반환하는 방법을 보여줍니다 JSON.parse('[{"Title":"SQL","ReleaseDate":"\/Date(1224007200000)\/"},{"Title":"Termonator Salvation","ReleaseDate":"\/Date(1224007200000)\/"}]')

+0

예를 보여주십시오. –

+0

내 편집 질문을 참조하십시오. 실제로 무엇을하려고하는지 알 수 있습니다. 전달하려는 내용을 이해할 수 있습니다. –

+0

예. 당신이 돌아 오는 당신의 데이터 타입은 json이 아닙니다. 그것은 XML입니다. json을 리턴하도록 서비스를 구성해야합니다. –

관련 문제