javascript 분석 json 형식의 데이터 방법 상세

JSON(JavaScript Object Notation)은 간단한 데이터 형식으로 xml보다 가볍다.이것은 JavaScript의 원래 형식입니다. 이것은 JSON 데이터를 JavaScript에서 처리하는 데 특별한 API나 도구 패키지가 필요하지 않다는 것을 의미합니다.그러면 어떻게 JavaScript로 json을 해석합니까?
우선, 제이슨을 보급해 주세요.json에는 두 가지 구조가 있는데 그것이 바로 대상과 수조이다.
객체가 {(왼쪽 괄호) 로 시작하고} (오른쪽 괄호) 로 끝납니다.각 "이름"뒤에 ":"(콜론) 이 붙습니다."이름/값"쌍 사이에", (쉼표) 구분을 사용합니다.이름은 따옴표로 묶기;값이 문자열이면 괄호를 사용해야 하고 수치형은 필요하지 않습니다.예:
var o={“key”:”value”};
배열은 값 (value) 의 질서정연한 집합입니다.하나의 배열은 [] (왼쪽 중괄호) 로 시작하고 [] (오른쪽 중괄호) 로 끝납니다.값 간에는 ","(쉼표) 구분이 사용됩니다.
var array = [{“name”:”tom”},{“name”:”jake”}];
데이터 전송 프로세스에서 json은 문자열의 형식으로 전달되고 JS는 JSON 대상을 조작하기 때문에 JSON 대상과 JSON 문자열 간의 상호 전환이 관건이다.
json 문자열:varstr='{'key':'value'}';
json 대상: var o={"key":"value"};
1. json 문자열이 json 대상으로 바뀐다
다음과 같은 코드로 JavaScript의 eval() 함수를 확인할 수 있습니다.

<script type="text/javascript">
  var json = '{"key":"value","jian":"zhi"}';
  var obj = eval("(" + json + ")");

  console.log(obj);     //  Object
  console.log(obj.key);   //  value
  console.log(obj.jian);  //  zhi

</script>
아니면 JSON을 통해서.parse() 메서드는 다음과 같이 해석됩니다.

var json = '{"key":"value","jian":"zhi"}';
var obj =JSON.parse(json);

console.log(obj);     //  Object
console.log(obj.key);   //  value
console.log(obj.jian);  //  zhi
이 두 가지 방법 모두 json 문자열을 해석할 수 있는 이상, 우리는 도대체 어떤 것을 사용합니까?그 전에 테스트를 해보겠습니다.

var value = 1;
var jsonstr = '{"name":"jifeng","company":"taobao","value":++value}';
var json1 = eval('('+jsonstr+')');
console.log(json1);         //  Object
console.log('value: '+ value);    //  value 2
세상에, evel 방법이 json 문자열의 코드를 실행하다니!!
우리 JSON 다시 한 번 봅시다.parse() 메서드:

var value = 1;
var jsonstr = '{"name":"jifeng","company":"taobao","value":++value}';

var json2 = JSON.parse(jsonstr);
console.log(json2);
console.log('value: '+ value);     
 // Unexpected token + in JSON at position
이제 어떻게 선택했는지 알겠지?
eval () 방법은 매우 안전하지 않다. 특히 제3자 데이터를 분석할 때 만약에 제3자 데이터가 당신에게 악성코드 같은 것을 추가하면 당신은 끝이지 않겠는가?그래서 JSON.parse () 가 올바른 선택입니다. 물론 일부 브라우저는 이 방법을 지원하지 않습니다.
도착할 수 있어요https://github.com/douglascrockford/JSON-js/blob/master/json2.js json2 다운로드js, 당신의 hlml에 추가하면 됩니다.
그 외에 또 하나의 json Str.parseJSON()의 방법은 json 문자열을 json 대상으로 바꿀 수도 있고 json2도 필요합니다.js 패키지 지원.
2. json 대상이 json 문자열로 전환
말이 많지 않으니 먼저 코드를 봐라.

var json = '{"key":"value","jian":"zhi"}';
var obj =JSON.parse(json);

var str=JSON.stringify(obj);
console.log(str);    
//  {"key":"value","jian":"zhi"}
여기 JSON이랑 썼어요.parse(str)에 대응하는 방법 JSON.stringify(obj).
마찬가지로 Obj라는 방법도 있다.toJSONString () 은 json 객체를 json 문자열로 변환하여 jsonstr와 연결할 수도 있습니다.parseJSON () 에 해당합니다.
3.json 문자 그룹에서 json 그룹으로 전환
이 전환은 문자열 전환 대상과 같다. 단지 json 수조를 조작하는 방식과 json 대상을 조작하는 방식이 약간 다를 뿐이다.코드를 보려면 다음과 같이 하십시오.

var arrayStr = '[{"name":"tom","age":"18"},{"name":"jake","age":"20"}]';
var arrayObj =JSON.parse(arrayStr);

console.log(arrayObj);     //  Array[2]
console.log(arrayObj[0]);   //  Object
console.log(arrayObj[0].name); //  tom
console.log(arrayObj[1].age); //  20
json 그룹에 대해서는 아래 표를 통해 접근할 수 있습니다.그것은 하나의 수조이기 때문에 for 순환을 통해 두루 다닐 수 있다.
4.jquery 해석 json 문자열
간단하게 jquery를 말씀드리겠습니다.jquery의 aax 기능을 사용할 때 데이터 type 속성이 있습니다. 이 속성을 json으로 설정하거나 $를 사용할 수 있습니다.getJSON () 방법은 서버가 되돌아오는 값을 얻습니다. 이 되돌아오는 값은 json 대상이기 때문에 더 이상 전환할 필요가 없습니다.
물론, jquery도 변환된 함수 $를 제공합니다.parseJSON(string); 이거랑 전에 말한 JSON.parse () 의 사용법은 똑같다. 구체적으로 어떻게 사용하는지는 개인의 취향에 달려 있다.
자바스크립트 해석 json 형식의 데이터 방법에 대한 상세한 설명은 여기 있습니다. 자바스크립트 해석 json 형식에 대한 데이터 내용은 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기