>  기사  >  백엔드 개발  >  JSON의 두 가지 구조 이해: object 및 array_php 예

JSON의 두 가지 구조 이해: object 및 array_php 예

WBOY
WBOY원래의
2016-08-04 08:56:551008검색

JSON 소개

JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. ECMAScript의 하위 집합을 기반으로 합니다. JSON은 완전히 언어 독립적인 텍스트 형식을 사용하지만 C 언어 계열(C, C, C#, Java, JavaScript, Perl, Python 등 포함)과 유사한 규칙도 사용합니다. 이러한 속성은 JSON을 이상적인 데이터 교환 언어로 만듭니다. 사람이 읽고 쓰기가 쉽고 기계가 구문 분석하고 생성하기도 쉽습니다(일반적으로 네트워크 전송 속도를 높이는 데 사용됨).

Json은 매우 간단하고 이해하기 쉬운 데이터 형식입니다. json에 대한 규정은 다음과 같습니다.

1) 병렬 데이터는 쉼표(", ")로 구분됩니다.

2) 매핑은 콜론(": ")으로 표시됩니다.

3) 병렬 데이터의 집합(배열)은 대괄호("[]")로 표시됩니다.

4) 매핑된 컬렉션(객체)은 중괄호("{}")로 표시됩니다.

JSON에는 배열과 객체라는 두 가지 구조가 있습니다. 배열은 정렬된 데이터 컬렉션을 나타내고 객체는 정렬되지 않은 데이터 컬렉션을 나타냅니다.

아래 예를 살펴보세요.

$arr = array(111,'aaa','bbb');
$arr1 = array(
'a' => 'aaa',
'b' => 222
);
$arr2 = array(
'a' => 'aaa',
'other' => array(
'bbb',1111
)
);
echo json_encode($arr); //[111,"aaa","bbb"]
echo json_encode($arr1); //{"a":"aaa","b":222}
echo json_encode($arr2); //{"a":"aaa","other":["bbb",1111]}

위에서 알 수 있듯이 javascript는 연관 배열을 지원하지 않기 때문에 json_encode()는 인덱스 배열만 배열 형식으로 변환하고 연관 배열은 객체 형식으로 변환합니다.

PHP의 json 지원 정보:

json_encode는 UTF-8로 인코딩된 데이터만 지원합니다.

json_decode는 항상 하나의 PHP 객체만 반영합니다. 두 번째 매개변수를 true로 설정하면 배열이 반환될 수 있습니다.

$json = '{"a":"aaa","other":["bbb",1111]}';
print_r(json_decode($json));
print_r(json_decode($json, true)); 

위 내용은 에디터가 소개한 두 가지 JSON 구조의 객체와 배열에 대한 이해입니다. 궁금한 점이 있으시면 메시지를 남겨주시면 에디터가 답변해 드리겠습니다. 시간. 또한 Script House 웹사이트를 지원해 주시는 모든 분들께 감사의 말씀을 전하고 싶습니다!

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