현대 웹 개발에서 JSON (JavaScript 객체 표기법)은 프론트 엔드 및 백엔드 데이터 상호 작용의 공통 형식입니다. 다층 구조를 포함하는 중첩 된 JSON 물체는 종종 개발 중에 발생합니다. 이 기사에서는 PHP 및 MySQL을 사용하여 데이터베이스와 구문 분석 및 구성 및 상호 작용하는 방법을 설명합니다.
JSON을 처리하기 위해 PHP를 사용하는 두 가지 일반적인 기능은 JSON_DECODE () 및 JSON_ENCODE () 이며 JSON 문자열을 PHP 변수로 각각 변환하고 PHP 데이터를 JSON 형식으로 변환하는 데 사용됩니다.
중첩 된 물체의 JSON 예를 살펴 보겠습니다.
{ "이름": "존", "나이": 25, "주소": { "거리": "123 Main St", "City": "New York", "State": "NY" } }
다음 코드를 사용하여 PHP 객체로 변환 할 수 있습니다.
$ json = '{ "이름": "존", "나이": 25, "주소": { "거리": "123 Main St", "City": "New York", "State": "NY" } } '; $ object = json_decode ($ json);
객체의 속성을 통해 중첩 값에 액세스 :
$ name = $ 객체-> 이름; // 존 $ age = $ object-> age; // 25 $ street = $ 객체-> 주소-> 거리; // 123 Main St $ city = $ 객체-> 주소-> 도시; // 뉴욕 $ state = $ 객체-> 주소-> 상태; // NY
PHP 객체를 JSON 형식으로 다시 변환 할 수도 있습니다. 예는 다음과 같습니다.
$ 객체 = 새로운 stdClass; $ object-> name = 'John'; $ 객체-> Age = 25; $ 객체-> 주소 = 새로운 stdclass; $ 객체-> 주소-> street = '123 Main St'; $ 객체-> 주소-> City = 'New York'; $ 객체-> 주소-> state = 'ny'; $ json = json_encode ($ 객체);
이 시점에서 변수 $ JSON 의 내용은 이전 예제의 원래 JSON 문자열 구조와 일치합니다.
MySQL 데이터 테이블 사용자가 있다고 가정하고 필드에는 ID , 이름 , 나이 , 거리 , 도시 , 주 , 중첩 된 JSON 데이터를 분할 하여이 테이블에 작성하려고합니다.
첫 번째 단계는 JSON이 PHP 어레이로 디코딩하는 것입니다.
$ array = json_decode ($ json, true);
그런 다음 PDO를 사용하여 데이터베이스에 연결하고 데이터를 삽입하십시오.
$ dsn = 'mysql : host = localhost; dbname = mydatabase'; $ username = 'username'; $ password = 'password'; $ pdo = new Pdo ($ dsn, $ username, $ password); $ stmt = $ pdo-> 준비 ( '사용자에 삽입 (이름, 나이, 거리, 도시, 주) 값 (: 이름, : Age, : Street, : City, : State)'); $ stmt-> bindparam ( ': name', $ array [ 'name']); $ stmt-> bindparam ( ': age', $ array [ 'age']); $ stmt-> bindparam ( ': street', $ array [ 'address'] [ 'street']); $ stmt-> bindparam ( ': city', $ array [ 'address'] [ 'city']); $ stmt-> bindparam ( ': state', $ array [ 'address'] [ 'state']); $ stmt-> execute ();
이 코드는 중첩 된 JSON 데이터 필드를 구문 분석하고 각각 데이터베이스의 해당 열에 삽입합니다.
이 기사를 통해 PHP를 사용하여 객체 및 배열의 변환 방법을 포함하여 중첩 된 JSON 구조를 처리하는 방법을 마스터하고 PDO를 통해 이러한 구조화 된 데이터를 MySQL 데이터베이스에 안전하게 작성했습니다. API 개발 또는 웹 애플리케이션에서 중첩 된 JSON 데이터 구조의 합리적인 처리는 데이터 상호 작용의 중요한 기초입니다.