>  기사  >  백엔드 개발  >  PHP JSON 작업

PHP JSON 작업

WBOY
WBOY원래의
2016-08-08 09:31:20844검색

JSON은 다양한 프로그래밍 언어에서 사용될 수 있으므로 PHP는 JavaScript에서 사용할 JSON 문자열을 출력하는 등 소규모 데이터 전송에 사용할 수 있습니다. PHP에서는 json_decode()를 사용하여 표준화된 문자열의 문자열에서 JSON 객체를 구문 분석하고, json_encode()를 사용하여 JSON 객체에서 표준화된 문자열의 문자열을 생성할 수 있습니다.

예:

$json = '{"a":1, "b":2, "c":3, "d":4, "e":5 }';

var_dump(json_decode($json));

var_dump(json_decode($json,true));

출력:

객체(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
[ "c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
배열( 5) {
["a"] => int(1)
["b"] => int(2)
["c"] => >["d"] => int(4)
["e"] => int(5)
}

$arr = 배열('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5 );

echo json_encode($arr);

출력: {"a":1,"b":2,"c":3,"d":4,"e":5}

1.json_decode(), 문자를 JSON으로 변환합니다. 일반적으로 Javascript에서 보낸 데이터를 받을 때 사용됩니다.

$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666" ,"mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo '웹사이트 이름:'.$web-> ;웹 이름.'
웹사이트: '.$web->url.'
연락처: QQ-'.$web->contact->qq.' MAIL: '.$웹->연락처->메일;
?>

위의 예에서는 먼저 변수 s를 정의한 다음 json_decode()를 사용하여 JSON 객체로 구문 분석하고, JSON, XML 사용법으로 판단하면 JSON 방식으로 사용할 수 있습니다. 및 배열 구현 기능은 유사하고 서로 관련된 일부 데이터를 저장할 수 있지만 개인적으로 JSON이 사용하기 쉽고 JSON과 JavaScript를 사용하여 데이터 공유가 가능하다고 생각합니다.

2.json_encode(), JSON을 문자로 변환. 이는 일반적으로 AJAX 애플리케이션에서 JSON 개체를 문자열로 변환하고 이를 Javascript로 출력하는 데 사용됩니다.

$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666" ,"mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo json_encode($web);
? >

2.PHP JSON을 배열로

$s='{"webname":"homehf","url":"www.homehf.com","qq":"744348666"}';
$web=json_decode($s); //문자를 JSON으로 변환
$arr=array();
foreach($web as $k=>$w) $arr[$k]= $ w;
print_r($arr);
?>

위 코드에서는 JSON 개체가 배열로 변환되었습니다. 그러나 중첩된 JSON인 경우 위 코드는 당연히 아무것도 할 수 없습니다. 그런 다음 중첩된 JSON을 해결하는 함수를 작성합니다. ,

$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666" ,"mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
$arr=json_to_array($web);
print_r($arr);
function json_to_array($web){
$arr=array();
foreach($web as $k=>$w){
if(is_object ($w)) $arr[$k]=json_to_array($w); //타입이 객체인지 판단
else $arr[$k]=$w;
}
return $arr ;
}
?>

위 내용은 PHP JSON 연산을 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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