준비
·고객 클래스
public class Customer
{
public int Unid { get; set; }
public string CustomerName { get; set; }
public string 기타 { get ; set; 🎜>
코드는 다음과 같습니다.
고객 고객 = 신규 고객
{ Unid=1,CustomerName="Song Jiang",Memo="Tiankuixing",Other="Black Saburo"};
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);
context.Response.Write(strJson); (1) Jquery.getJSON
메서드 정의: jQuery.getJSON( url, data, callback )
get 요청을 통해 json 데이터 가져오기
·url은 json 데이터의 주소 페이지를 제공하는 데 사용됩니다.
·data(Optional)는 키-값 쌍을 전송하는 데 사용됩니다. 서버로
·콜백(선택) 콜백 함수, json 데이터 요청 성공 후 처리 함수
코드 복사
코드는 다음과 같습니다.
function(data, textStatus) {
// 데이터는 json 객체입니다. // textStatus는 "성공"입니다
this ; // 이 Ajax 요청에 대한 옵션
} (1) 객체
코드 복사
코드는 다음과 같습니다.
$.getJSON( "webdata/Json_1.ashx", function( data) {
$("#divmessage") .text(data.CustomerName);
});Json_1.ashx 주소에서 json 데이터를 요청합니다. 데이터를 수신하고 함수에서 데이터 데이터를 처리합니다. 여기의 데이터는 고객 인스턴스에 해당하는 레코드이며, 그 안의 데이터는 k/v 형식으로 존재합니다. 즉, [객체, 객체] 배열 형태로 존재합니다. {"Unid":1,"CustomerName":"Song Jiang","Memo":"Tian Kuixing","Other":"Black Saburo"}
따라서 액세스할 때 data.Property를 사용하여 액세스하고 k/v 루프를 사용하여 Song Jiang의 기록을 인쇄합니다.
코드 복사
코드는 다음과 같습니다.
$.getJSON(
"webdata/Json_1.ashx",
function(data) {
var tt="" ;
html(tt);});결과: 단위: 1
고객 이름: Song Jiang
메모:
기타: 블랙 사부로
(2) 객체 배열
Ashx 파일(Json_1.ashx) 수정:
코드 복사
코드는 다음과 같습니다.
List _list = new List() Customer customer = new Customer
{ Unid =1, CustomerName="Song Jiang",Memo="Tian Kuixing",Other="Hei Sanlang"};고객 고객2 = 신규 고객 { Unid = 2, CustomerName = "Wu Yong", 메모 = "Tianji Xing" , 기타 = "智多星" };
_list.Add(고객);
_list.Add(customer2);string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(_list)
생성되는 json 객체의 문자열은 다음과 같습니다.
[{"Unid":1,"CustomerName":"Song Jiang","Memo":"Tiankuixing","Other":"Herosaburo"},
{"Unid":2,"CustomerName " :"Wu Yong","Memo":"Tianjixing","기타":"Zhiduoxing"}]
여기서 컬렉션으로서의 json 객체는 하나의 레코드가 아니라 2개의 레코드라는 것을 알 수 있습니다. 이는 [[object, object]]: [object, object] [object, object] 및 각 [ object, object]는 Customer에 해당하는 레코드를 나타내며 실제로는 k/v 형태이며, 이 v는 Customer 객체이고, 이 k는 0부터 시작하는 인덱스이다.
$.getJSON(
"webdata /Json_1.ashx",
function(data) {
$.each(data, function(k, v) {
Alert(k);
});
});
이때 k값은 0,1...
JSON 객체 나열 방법:
$.getJSON (
"webdata/Json_1.ashx",
function(data) {
var tt = "";
$.each(data, function(k, v) {
$.each(v,function(kk, vv) {
tt = kk ":" vv "
";
").html(tt);
});
결과:
단위: 1
CustomerName: Song Jiang
메모: Tiankuixing
기타: Black Sanlang
단위: 2
CustomerName : 오용
메모: 천지성
기타: Zhiduoxing
여기서는 중첩 루프가 사용됩니다. 첫 번째 루프는 List에서 Customer 개체를 순회하는 데 사용되며, 두 번째 루프는 Customer 개체, 즉 k/v 쌍에서 Customer 개체의 속성을 순회하는 데 사용됩니다. .