그런데 이 글의 제목을 어떻게 생각해야 할지 정말 모르겠습니다. 제목이 좋지 않아서 놓치셨다면 안타깝습니다.
이 작품을 만들기 전에 많은 기사를 참고했습니다.
http://www.roseindia.net/tutorials/json/parse-message-JSON-JS.shtml
http://funkatron.com/site/comments/safely-parsing-json-in-javascript/
http://docs.jquery.com/Ajax/jQuery.getJSON
http://encosia.com/2009/06/29/never-worry-about-asp-net-ajaxs-d-again/
http://encosia.com/2009/04/07/using-complex-types-to-make-calling-services-less-complex/
해야 할 첫 번째 단계는 데이터 테이블을 서버 측에서 필요한 형식으로 변환하는 방법입니다.
원래는 .net의 javascriptSerializer를 사용하여 완성하려고 했으나(Genirics 라이브러리의 List 등과 결합) 나중에 NewtonSoft.Json을 사용하는 것이 더 유연하고 확장성이 더 좋다는 사실을 인터넷에서 발견하기도 했습니다. 기성품으로 사용할 수 있습니다.
서버 측에서 데이터 변환을 어떻게 구현했는지 살펴보겠습니다.
여기에서는 Datatable뿐만 아니라 DataSet도 변환 가능하며, 향후 JavascriptSerializer의 변환 기능도 확장될 예정입니다. 변환의 최종 결과는 []로 묶인 문자열이어야 한다는 점에 유의해야 합니다. 처음에는 {}를 사용하여 최종적으로 json을 객체로 반환하려고 시도했지만 결과적으로 클라이언트는 실제로 아무런 단서도 얻지 못했습니다. 전혀 변환하지 않습니다. 마지막으로 .net 3.5에서 웹 서비스에서 반환된 결과가 {"d":***}와 같이 이름이 d인 json 개체로 자동으로 패키징된다는 내용을 소개하는 기사를 보았습니다. 서버 측은 배열 형식으로 패키지를 생성합니다.
그런 다음 다음 콘텐츠로 데이터베이스 테이블을 만들었습니다.
,
에서 정의한 웹 메소드는 다음과 같습니다.
Serializer 방식은 DNA_JSON으로 패키징되었습니다. NewtonSoft.Json의 기본 변환 클래스를 기반으로 확장되었습니다.
두 번째 단계는 클라이언트 관련 작업입니다.
먼저 몇 가지 js를 사용해야 합니다. jQuery.js, json2.js는 괜찮습니다.
위 그림과 같이 jQuery의 ajax와 JSON을 사용하고 있습니다. Parse() 변환 함수.
res.d는 기본적으로 .net 3.5의 패키지된 json 속성이라는 점에 유의하는 것도 중요합니다. Framework2.0을 사용하면 이 문제가 발생하지 않습니다.
마지막으로 이들 객체로 구성된 배열을 테이블로 표시하는 방법을 살펴보겠습니다.