JSON의 형식 설명은 여기에서 볼 수 있으며, 매우 자세하고 중국어로 되어 있습니다.
JSON 형식 설명
JSON의 속성 이름은 따옴표로 묶어야 한다는 점에 유의하는 것이 중요합니다.
jQuery에서 JSON 사용하기
jQuery는 현재 널리 사용되는 스크립트 라이브러리입니다. 그렇다면 jQuery에서 JSON을 어떻게 사용할 수 있을까요?
JSON 구문 분석
JSON 구문 분석에 대한 기본 지원은 이미 jQuery에서 제공됩니다.
jQuery.parseJSON 함수는 구문 분석을 지원합니다. 자세한 지침은 여기를 참조하세요.
var obj = jQuery.parseJSON('{ "name" :"John"}');
alert( obj.name === "John" );
객체를 사용하여 JSON 형식 문자열 생성
jQuery에서는 사용할 수 없습니다. 다음 확장 라이브러리를 사용하여 일반 JavaScript 개체를 JSON 문자열로 직접 변환하는 방법을 제공합니다.
jquery-json 확장 라이브러리
이 라이브러리는 jQuery를 확장하는 데 사용되며 JSON 사용을 위한 두 가지 방법을 확장합니다.
toJSON 메서드는 일반 JavaScript 개체를 JSON 문자열로 직렬화하는 데 사용됩니다.
var thing = {plugin: 'jquery- json', 버전: 2.3};
var encode = $.toJSON( thing ); // '{"plugin":"jquery-json","version":2.3}'
evalJSON 메소드 JSON 문자열을 일반 JavaScript 객체로 구문 분석합니다.
var thing = {plugin: 'jquery- json', 버전: 2.3};
var encode = $.toJSON( thing ); // '{"plugin":"jquery-json","version":2.3}'
var name = $. evalJSON( encoded ).plugin; // "jquery-json"
var version = $.evalJSON(encoded).version; // 2.3
이 확장 프로그램의 다운로드 주소:
http:/ /code.google.com/p/jquery-json/WCF와 함께 jQuery 사용 클라이언트
$.post jQuery는 서버에 직접 요청하고 서버에서 반환된 데이터를 JSON 형식으로 구문 분석할 수 있습니다. 그러나 다음 사항에 주의해야 합니다.
요청된 콘텐츠 유형은 json 형식이어야 합니다. 위의 jQuery-json 확장 라이브러리를 통해 수행할 수 있습니다. 완료하려면 요청의 contentType에 특별한 주의를 기울여야 하며 text/json을 사용하여 설명해야 합니다. 기본 게시물은 요청에 일반 이름-값 쌍을 사용하므로 contentType은 $.ajaxSetup을 전달할 수 있는 application/x-www-form-urlencoded:
// Ajax 설정
$.ajaxSetup({ contentType: 'text/json' })
이렇게 하면 요청된 콘텐츠 유형이 필수 유형으로 설정되었습니다.
두 번째로 실제 요청 콘텐츠는 확장 라이브러리의 $.toJSON을 통해 달성할 수 있는 JSON 모드여야 합니다. 예:
$.toJSON({ x: 2, y : 3 } )
이런 식으로 서버 측에서 서비스 메소드 Sum을 제공하면 다음과 같이 정의됩니다.
public int Sum(int x, int y)
{
return x y; 🎜> 다음과 같이 호출할 수 있습니다. WCF에서 반환된 데이터는 속성 d에 있습니다.
코드 복사
코드는 다음과 같습니다. // Ajax 설정$. ajaxSetup({ contentType: 'text/json' });
$("#wcfBtn").click(function () {
$.post("Service1.svc/Sum", $.toJSON({ x: 2 , y: 3 }), 함수(데이터) {
alert(data.d);
})
서버 -측 구성
먼저 서비스에 레이블을 추가합니다: [System.ServiceModel.Activation.AspNetCompatibilityRequirements(
RequirementsMode = System.ServiceModel.Activation.AspNetCompatibilityRequirementsMode.Allowed)]
코드 복사