본문을 소개하기 전에 json이 무엇인지 먼저 말씀드리겠습니다.
JSON(JavaScript Object Notation)은 JavaScript Object Notation이라고 하는 경량 데이터 교환 형식입니다. 데이터 전송에 JSON을 사용하는 이점 중 하나는 JSON이 실제로 JavaScript라는 것입니다. ECMAScript 버전 3의 JavaScript 객체 리터럴 구문 하위 집합을 기반으로 하는 텍스트 형식입니다. 즉, responseText를 사용하여 서버에서 JSON 데이터를 검색한 다음 JavaScript의 eval() 메서드를 사용하여 JSON 문자열을 JavaScript 개체로 변환한 다음 추가 JavaScript를 사용하면 처리 없이 개체에서 데이터를 쉽게 추출할 수 있습니다. .
우리는 프로젝트 작업을 할 때 JavaScript json을 자주 사용합니다.
먼저 자바스크립트의 json 문자열이 무엇인지부터 알아보겠습니다. json 문자열은 자바스크립트의 객체로 키와 값에 해당하는 객체를 가지고 있습니다.
일반 형식은 다음과 같습니다.
a = { a1 : 1, a2 : 'abc', a3 : 'abc', a4 : [1,2,3], a5 : function(){console.log(12)} };
이 json을 읽는 방법은 for in 루프를 통해 탐색하는 것입니다. >
json 문자열을 사용하면 데이터베이스에 있는 데이터를 한 번에 읽어서 json 형식으로 저장한 후, 자바스크립트를 통해 내부 속성을 읽어올 수 있다는 장점이 있습니다. 서버에 대한 요청 수를 늘리십시오. 첫 페이지의 로딩 효율성. json을 순회할 때 많은 문제에 직면하게 됩니다. 오늘 제가 직면한 문제는 json 문자열의 키 값을 숫자로 작성할 때 주류 브라우저가 순회할 때 우리의 지시를 따르지 않는다는 것입니다. 출력 json은 순차적으로 출력되지만 작은 숫자부터 큰 숫자 순으로 출력됩니다. 하지만 IE8 이하의 브라우저는 우리가 출력한 순서대로 출력합니다. 예:a = { '1' : 1, '5' : function(){console.log(12)}, '2' : 'abc', '4' : [1,2,3], '3' : {'5' : 'abc', '6' : 'bcd'}, };
for(var i in a){ console.log(a[i]); }
var arr = [],sortNumber = function (a,b){ return a - b; }; for(var i in a){ arr[arr.length] = a[i]; arr.sort(sortNumber); for(var x = 0; x < arr.length; x++) { console.log(a[arr[x]]); }