PHP에서 JSON 적용
오늘날 인터넷에서 AJAX는 더 이상 낯선 단어가 아닙니다. AJAX라고 하면 RSS로 인해 등장한 XML이 바로 떠오를 수도 있다. XML 구문 분석은 아마도 더 이상 문제가 되지 않을 것입니다. 특히 PHP5와 가장 가벼운 SimpleXML과 같은 다수의 XML 구문 분석기의 등장에서는 더욱 그렇습니다. 그러나 AJAX의 경우 XML 구문 분석은 프런트 엔드 Javascript 지원에 더 가깝습니다. XML을 파싱해본 사람이라면 누구나 트리와 노드로 인해 혼란스러울 것이라고 생각합니다. XML이 매우 좋은 데이터 저장 방법이라는 것은 부인할 수 없지만 XML의 유연성으로 인해 구문 분석이 어렵습니다. 물론 여기서 언급한 어려움은 이 글의 주인공인 JSON과 관련이 있다.
JSON이란 무엇인가요? 나는 그 개념을 반복하지 않을 것이다. 일반인의 관점에서 보면 이는 PHP 직렬 문자열과 같은 데이터 저장 형식입니다. 데이터 설명입니다. 예를 들어 배열을 직렬화하여 저장하면 쉽게 역직렬화하고 적용할 수 있습니다. 클라이언트 측 Javascript와 서버 측 PHP 사이에 대화형 브리지를 구축한다는 점을 제외하면 JSON의 경우에도 마찬가지입니다. 우리는 PHP를 사용하여 JSON 문자열을 생성한 다음 이 문자열을 프런트 엔드 Javascript에 전달합니다. Javascirpt는 이를 JSON으로 쉽게 변환한 다음 적용할 수 있습니다. 일반인의 용어로 표현하면 실제로는 배열처럼 보입니다.
비즈니스로 돌아가서 JSON을 사용하는 방법입니다. PHP5.2에는 JSON에 대한 지원이 내장되어 있습니다. 물론 이 버전보다 낮은 경우에는 시중에 많은 PHP 버전 구현이 있으므로 원하는 버전을 사용하면 됩니다. 이제 우리는 주로 PHP의 JSON 내장 지원에 대해 이야기합니다. 매우 간단하고 두 가지 함수: json_encode 및 json_decode(직렬화와 매우 유사) 하나는 인코딩용이고 하나는 디코딩용입니다. 먼저 인코딩 사용을 살펴보겠습니다.
$arr = array(
'name' => 'Chen Yixin',
'nick' => ; '딥 스페이스',
'연락처' => 배열(
'이메일' => 'qq 닷컴의 신콩',
'웹사이트' => 'http:// www.chenyixin.com',
)
);
$json_string = json_encode($arr);
echo $json_string;
JSON은 매우 간단합니다. 배열. UTF-8이 아닌 인코딩에서는 한자를 인코딩할 수 없으며 결과는 null이 됩니다. 따라서 gb2312를 사용하여 PHP 코드를 작성하는 경우 iconv 또는 mb를 사용하여 포함된 내용을 변환해야 합니다. 그런 다음 중국어를 UTF-8로 json_encoded하고 위의 출력 결과는 다음과 같습니다.
{"name":"u9648u6bc5u946b","nick":"u6df1u7a7a","contact":{"email": "shenkong at qq dot com","website":"http://www.chenyixin.com"}}
연재와 매우 유사하다고 말씀드렸지만 아직도 믿지 못하시네요. 인코딩 후에는 디코딩이 필요합니다. PHP는 해당 함수 json_decode를 제공합니다. json_decode가 실행된 후 작업은 다음과 같습니다.
$arr = 배열 (
'이름' => '첸 이신',
'nick' => '딥 스페이스',
'연락처' => array(
'이메일' => '심공' at qq dot com' ,
'website' => 'http://www.chenyixin.com',
)
)
$json_string = json_encode($arr)
$obj = json_decode ($json_string);
print_r($obj);
?> 객체의 속성에 액세스할 수 있나요? $obj->name은 물론 쉽게 호출할 수 있도록 배열로 변환할 수도 있습니다.
$json_string = json_encode($arr)
$obj = json_decode($json_string) ; 프론트 데스크와 상호 작용할 때 해당 기능이 나옵니다. Javascript를 사용하여 이 문자를 사용하는 방법을 살펴보겠습니다.
위에서 이 문자열을 변수에 직접 할당하면 자바스크립트 배열이 됩니다(전문 용어로는 배열이라고 부르면 안 됩니다). , 그러나 PHP의 습관 때문에 이해하기 쉽도록 배열이라고 부릅니다.) 이러한 방식으로 쉽게 arr을 탐색하거나 원하는 작업을 수행할 수 있습니다. 아직 AJAX에 대해서는 언급하지 않았죠? 예, 생각해 보세요. 서버에서 반환된 responseText가 XML 대신 JSON 문자열을 사용한다면 프런트 엔드 Javascript가 이를 처리하는 것이 매우 편리하지 않을까요? 이것이 개 피부 석고가 사용되는 방법입니다.
사실 이 글을 쓰면서 데이터 저장 형식이 다른 점을 제외하면 JSON과 XML 사이에는 큰 차이가 없지만, 아래에서 언급할 점이 하나 있습니다. XML과는 거의 관련이 없지만 JSON의 광범위한 적용, 즉 도메인 간 데이터 호출을 설명할 수 있습니다. 보안 문제로 인해 AJAX는 도메인 간 호출을 지원하지 않습니다. 다른 도메인 이름으로 데이터를 호출하는 것은 매우 번거롭습니다. 해결책이 있지만(Stone은 강의에서 프록시를 언급했지만 이해하지는 못하지만 알고 있습니다) 해결될 것입니다). 저는 도메인 간 호출을 보여주기에 충분한 두 개의 파일을 작성했습니다.
메인 파일 index.html
조정된 파일 profile.php
< ;?php
$arr = array(
'name' => '첸 이신',
'nick' => '딥 스페이스',
'contact' => array(
'이메일' => 'qq dot com의 shengong',
'웹사이트' => 'http://www.chenyixin.com',
)
)
$json_string = json_encode($arr) ;
echo "getProfile($json_string)";
?>
분명히 index.html이 profile.php를 호출하면 JSON 문자열이 생성되어 getProfile에 전달됩니다. 이런 방식으로 닉네임이 div에 삽입됩니다. 도메인 간 데이터 상호 작용이 완료됩니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

PHP 로깅은 웹 애플리케이션을 모니터링하고 디버깅하고 중요한 이벤트, 오류 및 런타임 동작을 캡처하는 데 필수적입니다. 시스템 성능에 대한 귀중한 통찰력을 제공하고 문제를 식별하며 더 빠른 문제 해결을 지원합니다.

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

Alipay PHP ...
