>  기사  >  웹 프론트엔드  >  JSON 사용에 대해 알아야 할 사항 요약

JSON 사용에 대해 알아야 할 사항 요약

php中世界最好的语言
php中世界最好的语言원래의
2018-04-24 17:18:041383검색

이번에는 JSON 사용 방법을 요약해 보겠습니다. JSON 사용 시 주의 사항은 무엇인가요? 실제 사례를 살펴보겠습니다.

약관

이식성
플랫폼과 시스템 간의 정보 전송 호환성.

JSON
JavaScriptObjectNotation 개체 표기법.

데이터 교환 형식
다른 플랫폼이나 시스템 간에 데이터를 교환하는 데 사용되는 텍스트입니다.

Literal
문자 그대로의 의미는 표현하고자 하는 가치와 정확히 같습니다.

변수
는 X 형태의 식별자로 표현되며, 수정 가능한 값의 종류입니다.

최대의 이식성
플랫폼, 시스템과 데이터 자체의 호환성을 보장하여 데이터 형식 자체를 넘어서는 이식성을 제공합니다.

이름-값 쌍
은 이름과 해당 값이 있는 속성과 특성(키-값 쌍이라고도 함)을 나타냅니다.

구문 확인
json 형식 확인.

일관성 검증
고유한 데이터 구조 검증에 집중하세요.

JSON의 문자열 유형
"You are a good person"과 같은 문자열 값은 큰따옴표로 묶입니다.

콘셉트

JSON은 데이터 교환 형식입니다.

JSON은 프로그래밍 언어에 독립적입니다.

JSON은 JavaScript 객체의 리터럴 표현을 기반으로 합니다(표현에 중점을 둡니다).

JSON이 데이터를 표현하는 방식은 일반적인 프로그래밍 개념에 친숙합니다.

JSON은 속성을 표현하기 위해 JavaScript 객체 리터럴 구문을 기반으로 하지만 JavaScript 객체 리터럴의 함수 관련 부분은 포함하지 않습니다.

JSON 이름-값 쌍에서 이름은 항상 큰따옴표로 묶입니다.

JSON 이름-값 쌍에서 값은 문자열, 숫자, 부울 값, null 또는 객체 배열이 될 수 있습니다.

JSON의 이름-값 쌍 목록은 항상 중괄호로 묶입니다.

JSON의 여러 이름 값 쌍은 쉼표로 구분됩니다.

JSON 파일은 .json 확장자를 사용합니다.

JSON의 미디어 유형은 application/json입니다.

JSON의 부울 값은 true와 false만 사용할 수 있으며 모든 문자는 소문자여야 합니다.

JSON에서 null 값의 모든 문자는 null 값을 나타내기 위해 소문자여야 합니다.

JSON의 숫자 유형에서 66과 같은 숫자 값은 양의 정수, 음의 정수, 소수 또는 지수가 될 수 있습니다.

객체와 배열의 주요 차이점은 객체는 이름-값 쌍의 목록 또는 컬렉션이고 배열은 값의 목록 및 컬렉션이라는 것입니다.

객체와 배열의 또 다른 주요 차이점은 배열의 모든 값이 동일한 데이터 유형을 가져야 한다는 것입니다.

용어
JSON의 배열
배열은 값의 모음 또는 목록이며, 각 값은 문자열, 숫자, 부울, 개체 또는 배열 중 하나일 수 있습니다. 배열은 []로 묶고 쉼표로 구분해야 합니다.

JSON의 객체 유형
객체 유형은 쉼표로 구분되고 {}로 묶인 이름-값 쌍의 컬렉션입니다.

JSON Schema
데이터 교환의 가상 계약입니다.

서버(웹 개발 중)

웹 리소스를 요청할 때 서버에서 수행되는 일련의 작업입니다. 서버는 처리하고 로드하는 응답을 인터넷 브라우저에 제공합니다.

클라이언트(웹 개발 중)
브라우저에서 요청한 인터페이스가 로드될 때 수행되는 일련의 작업으로, 일반적으로 HTML, CSS 및 JavaScript를 참조합니다.

개념
JSON 유효성 검사기는 구문 오류 확인을 담당하고 JSON 스키마는 일관성 확인을 담당합니다.

JSONSchema는 데이터 수신을 담당하는 첫 번째 방어선이며 데이터 송신자가 시간을 절약하고 데이터가 올바른지 확인하는 데에도 좋은 도구입니다.

JSONSchema는 다음과 같은 일관성 검증 문제를 해결할 수 있습니다
 1. 값의 데이터 유형이 올바른가요? 값이 숫자, 문자열 등의 유형임을 지정할 수 있습니다.
 2. 필수 데이터가 포함되어 있나요? 필요한 데이터와 그렇지 않은 데이터를 지정할 수 있습니다.
 3. 내가 원하는 형태의 가치가 있나요? 범위, 최소값, 최대값을 지정할 수 있습니다.

JSON 자체는 위협이 되지 않으며 단지 텍스트일 뿐입니다.

JSON 보안 문제를 찾을 때 다음 3가지를 기억해야 합니다.
1. 최상위 배열은 합법적인 JavaScript 스크립트입니다. 꼬리표.
 2. 공개를 원하지 않는 리소스의 경우 Get 메소드가 아닌 HTTPPost 메소드만 요청할 수 있습니다. get 메소드는 URL을 통해 요청하거나 스크립트 태그에 배치할 수도 있습니다.
 3. eval() 대신 JSON.parser()를 사용하세요. eval() 함수는 수신 문자열을 컴파일하고 실행하므로 코드를 공격에 취약하게 만들므로 JSON을 구문 분석하는 데만 사용해야 합니다. 데이터.

보안 취약점은 개발자가 해커가 이를 어떻게 악용할 수 있는지 고려하지 않아 발생하는 경우가 많습니다.

JavaScript의 XMLHTTPRequest와 WEBAPI의 관계는 클라이언트와 서버의 관계입니다.

XMLHTTPRequest는 XML에만 국한되지 않고 JSON 리소스를 요청하는 데에도 사용할 수 있습니다.

용어
Cross-site request forgery(CSRF)
는 사용자 브라우저에 대한 사이트의 신뢰를 악용하여

The라는 용어를 사용합니다. 최상위 JSON 배열 은 JSON 이름-값 쌍이 아닌 문서 상단의 JSON 배열에 존재합니다.

삽입 공격
악성 데이터의 실행 또는 컴파일을 용이하게 하기 위해 웹 애플리케이션에 데이터를 주입하는 공격입니다.

JSON 크로스 사이트 스크립팅 공격
사이트에서 사용되는 타사 코드를 가로채거나 악성 스크립트로 대체하여 사이트에 대한 주입 공격입니다.

webApi
HTTP를 통해 서비스와 상호작용하기 위한 일련의 지침 및 표준입니다.

XMLHTTPRequest
페이지를 새로 고치지 않고 URL에서 데이터를 얻을 수 있는 JavaScript 개체는 AJAX 프로그래밍에서 일반적으로 사용됩니다.

Hypertext Transfer Protocol (HTTP)
World Wide Web에서 사용되는 데이터 교환을 위한 기본 프로토콜

Serialization
객체를 텍스트로 변환하는 작업

Deserialization
텍스트를 객체로 변환하는 작업입니다.

개념
웹사이트는 사람에게 서비스를 제공하고 webAPI는 코드를 제공하며 둘 다 Http 프로토콜을 사용합니다.

동일 출처 정책으로 인해 JavaScript 및 JSON 리소스가 클라이언트-서버 통신을 어렵게 만듭니다.

클라이언트의 도메인 간 XMLHTTPRequest는 JSON 리소스 요청의 성공을 보장하기 위해 서버의 지원이 필요합니다.

jQuery는 개발 시간을 단축할 수 있는 JSON 요청 및 구문 분석 기능을 제공하는 추상화 도구이며 브라우저 간 호환성 문제도 해결합니다.

AngularJS MVC의 개념
 JSON은 모델||데이터 모델
 HTML은 뷰이고 모델에 바인딩하는 구문을 제공합니다
 컨트롤러는 AngularJS 구문으로 모델과 뷰와 상호 작용하는 JavaScript를 정의하고 작동합니다. 문서.

AngularJS는 MVC 아키텍처에서 JavaScript 개체와 JSON을 빛나게 합니다.

관계형 데이터베이스에는 기본 키와 외래 키가 사용되는 테이블 열과 행 및 이들 사이의 관계가 있는 경우가 많습니다.

NoSQL 데이터베이스에는 다양한 유형이 있으며 기존 관계형 모델과는 데이터 저장 및 활용 방법이 다릅니다.

CouchDB 데이터베이스의 주요 개념
 1. 문서 중심의 NoSQL 데이터베이스입니다
 2. JSON 문서를 저장하고 관리합니다
 3. 데이터를 저장하고 검색하면서 데이터 구조를 유지합니다
 4. HTTP 기반으로 사용합니다. JSON 문서 리소스로 데이터를 가져오는 API
 5. 쿼리 언어로 JavaScript를 사용하고, 뷰의 map 및 Reduce 메서드를 통해 API 전반에서 데이터를 가져옵니다.

서버 측에서 JSON은 객체로 역직렬화되어 프로그래밍 논리에 사용되거나 객체를 JSON 형식으로 직렬화할 수 있습니다.

JSON은 서버와 클라이언트 모두에서 잘 지원되므로 웹 분야의 많은 교환 데이터 형식보다 돋보입니다.

용어
동일 출처 정책
보안상의 이유로 브라우저는 동일한 도메인의 스크립트만 요청합니다.

교차 도메인 리소스 공유 CORS
응답 헤더를 설정하면 교차 도메인 요청이 성공할 수 있습니다.

JSON-p
동일 출처 정책 제한을 우회하고 다른 도메인 이름을 가진 서버에서 JSON을 요청하려면 스크립트 태그를 사용하세요.

추상
복잡한 시스템을 처리하기 위한 기술. 주요 아이디어는 큰 문제를 여러 개의 작은 문제로 변환하는 것입니다.

프레임워크
시간을 절약하고 기능 구축에 더 집중할 수 있게 해주는 추상화 도구입니다.

Jquery.parserJSON()
JSON.parser() 함수를 호출할 뿐만 아니라 JSON.parser() 함수를 지원하지 않는 이전 브라우저와도 호환되며 문자 유효성을 검사하여 문자열을 평가하는 jquery 함수입니다. , 이를 통해 가능한 보안 문제를 피할 수 있습니다.

jquery.getJSON()
json을 JavaScript 객체로 구문 분석하는 기능이 포함된 jquery.ajax() 함수의 짧은 형식입니다.

단일 페이지 웹 애플리케이션
기존의 다중 페이지 접근 방식과 달리 웹 페이지는 보다 원활한 애플리케이션 경험을 제공하는 데 중점을 둡니다.

Model-View-Controller(MVC)
애플리케이션을 모델(데이터), 뷰(프레젠테이션), 컨트롤러(모델 및 뷰 업데이트)의 세 부분으로 나누는 애플리케이션 아키텍처 패턴

AngularJS
一A JavaScriptMVC 프레임워크 JavaScript 객체를 데이터 모델로 사용합니다.

관계형 데이터베이스
식별 가능한 관계를 사용하여 저장된 데이터를 구조화된 방식으로 저장하는 데이터베이스입니다.

NoSQL 데이터베이스
데이터를 저장하여 관계를 저장하지 않는 데이터베이스입니다.

CouchDB
JSON 문서를 사용하여 데이터를 저장하는 문서 중심의 NoSQL 데이터베이스 저장 유형입니다.

ASP.NET
Microsoft에서 개발한 서버 측 웹 프레임워크

PHP
동적 웹 페이지 생성을 위한 서버 측 스크립팅 언어

Ruby on Rails
Ruby로 작성된 서버 측 웹 애플리케이션 프레임워크

Node.js
기반 Google의 V8 엔진용 서버측 JavaScript에 관한 것입니다.

java
객체 지향 프로그래밍 언어입니다.

JSON은 정적 구성 파일 역할도 합니다.

사용할 데이터 형식을 고려할 때 데이터 형식과 데이터 교환 시스템을 고려해야 합니다. ! ! ! JSON이 항상 최선의 선택은 아닙니다.

이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:

jquery에서 ajax 실행 순서 조정

Ajax 및 $.ajax 인스턴스에 대한 자세한 설명

위 내용은 JSON 사용에 대해 알아야 할 사항 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.