PHP에서 빈 배열을 json 객체로 변환하는 방법

藏色散人
풀어 주다: 2023-03-09 10:10:02
원래의
2903명이 탐색했습니다.

PHP에서 빈 배열을 json 개체로 변환하는 방법: 1. "JSON_FORCE_OBJECT"를 사용하여 json 개체로 변환합니다. 2. 데이터 유형 변환을 사용하여 빈 배열을 json 개체로 변환합니다. 3. ArrayObject를 사용하여 빈 배열을 json 개체로 변환합니다. .

PHP에서 빈 배열을 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!