PHP에서 빈 배열을 json 개체로 변환하는 방법: 1. "JSON_FORCE_OBJECT"를 사용하여 json 개체로 변환합니다. 2. 데이터 유형 변환을 사용하여 빈 배열을 json 개체로 변환합니다. 3. ArrayObject를 사용하여 빈 배열을 json 개체로 변환합니다. .
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP json_encode는 빈 배열을 객체로 변환합니다.
문제 설명:
php는 클라이언트에 인터페이스를 제공합니다. PC 등 Android, iOS 등에서 json 형식의 데이터가 반환되는 경우, 반환되는 데이터가 배열이고 키가 문자열인 경우 jsonization 후 jsonObject가 반환됩니다. 단, 빈 배열인 경우에는 jsonArray가 반환될 수 있으며 데이터 구조가 일관되지 않습니다. json 구문 분석이 실패하게 됩니다.
예:
$arr = [ 'id' => 123., 'name' => 'andrew' , ]; $jsonRet = json_encode( $arr ); print_r( $jsonRet );
출력:
{ "id": 123, "name": "andrew" }
하지만 그렇다면:
$arr = []; $jsonRet = json_encode($arr); print_r($jsonRet);
출력:
[ ]
배열이 비어 있는데 어떻게 JsonObject일 수 있습니까?
방법 1:
JSON_FORCE_OBJECT
$arr = []; $jsonRet = json_encode($arr, JSON_FORCE_OBJECT); print_r($jsonRet);사용 방법 2
데이터 유형 변환 사용
$arr = [ 'jsonArray' => [ '21', '12', '13' ], 'jsonObject' => [] ]; $jsonRet = json_encode($arr,JSON_FORCE_OBJECT); print_r($jsonRet);방법 3(권장)
ArrayObject 사용
{ "jsonArray": { "0": "21", "1": "12", "2": "13" }, "jsonObject": { } }
출력:
$bar = array(); $foo = (object)$bar; echo json_encode($foo);
【추천 학습: PHP 비디오 튜토리얼】
위 내용은 PHP에서 빈 배열을 json 객체로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!