php json 공통 메소드: 1. JSON 형식의 문자열을 디코딩하는 데 사용되는 json_encode() 3. 발생한 마지막 오류를 반환하는 데 사용되는 json_encode().
이 튜토리얼의 운영 환경 : Windows 7 System, PHP 버전 7.1, Dell G3 컴퓨터
PHP JSON 공통 방법 :
1, json_encode ()
php json_encode () JSON이 변수를 인코딩하는 데 사용됩니다. 이 함수는 성공적으로 실행되면 JSON 데이터를 반환하고, 그렇지 않으면 FALSE를 반환합니다.
Syntax
string json_encode ( $value [, $options = 0 ] )
예:
<?php $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5); echo json_encode($arr); ?>
출력 결과:
{"a":1,"b":2,"c":3,"d":4,"e":5}
2, json_encode()
json_decode() 함수는 JSON 형식 문자열을 디코딩하고 이를 PHP 변수로 변환하는 데 사용됩니다.
구문:
mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
매개변수:
json_string: 디코딩할 JSON 문자열, UTF-8로 인코딩된 데이터여야 합니다.
assoc: 이 매개변수가 TRUE이면 배열이 반환되고, FALSE이면 객체가 반환됩니다.
깊이: 재귀 깊이를 지정하는 정수 유형의 매개변수
옵션: 바이너리 마스크, 현재 JSON_BIGINT_AS_STRING만 지원됩니다.
예:
출력 결과:
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
3, json_last_error()
json_last_error - 마지막으로 발생한 오류를 반환합니다.
구문:
json_last_error()
있는 경우 마지막 오류를 반환합니다. 동안 발생 JSON 인코딩 및 디코딩 실수입니다. 정수가 반환되며 이 값은 다음 상수 중 하나가 됩니다.
availability | 没有错误发生 | ||
---|---|---|---|
JSON_ERROR_DEPTH | 到达了最大堆栈深度 | ||
JSON_ERROR_STATE_MISMATCH | 无效或异常的 JSON | ||
JSON_ERROR_CTRL_CHAR | 控制字符错误,可能是编码不对 | ||
JSON_ERROR_SYNTAX | 语法错误 | ||
JSON_ERROR_UTF8 | 异常的 UTF-8 字符,也许是因为不正确的编码。 | PHP 5.3.3 | |
JSON_ERROR_RECURSION | One or more recursive references in the value to be encoded | PHP 5.5.0 | |
JSON_ERROR_INF_OR_NAN | One or more NAN INF JSON_ERROR_DEPTH | 최대 스택 깊이에 도달함 | |
JSON_ERROR_UNSUPPORTED_TYPE | 指定的类型,值无法编码。 | PHP 5.5.0 | |
JSON_ERROR_INVALID_PROPERTY_NAME | 指定的属性名无法编码。 | PHP 7.0.0 | |
JSON_ERROR_UTF16 JSON_ERROR_STATE_MISMATCH | 잘못되었거나 비정상적인 JSON |
JSON_ERROR_CTRL_CHAR
제어 문자 오류, 아마도 잘못된 인코딩
JSON_ERROR_SYNTAX
🎜🎜🎜구문 오류🎜JSON_ERROR_UTF8</code >🎜🎜🎜예외 UTF-8 문자, 아마도 잘못된 인코딩 때문일 수 있습니다. PHP 5.3.3 OR_INF_OR_NAN</ code>🎜🎜🎜하나 이상의 🎜<code>NAN
🎜
아니면 🎜🎜🎜
인코딩할 값의 값🎜🎜PHP 5.5.0🎜🎜🎜🎜🎜JSON_ERROR_UNSUPPORTED_TYPE
🎜🎜🎜지정된 형식의 값은 인코딩할 수 없습니다. 🎜🎜PHP 5.5.0🎜🎜🎜🎜🎜JSON_ERROR_INVALID_PROPERTY_NAME
🎜🎜🎜지정된 속성 이름을 인코딩할 수 없습니다. 🎜🎜PHP 7.0.0🎜🎜🎜🎜🎜JSON_ERROR_UTF16
🎜🎜🎜잘못된 UTF-16 문자. 문자 인코딩이 잘못되었기 때문일 수 있습니다. 🎜🎜PHP 7.0.0🎜🎜🎜🎜🎜예: 🎜<?php // 一个有效的 json 字符串 $json[] = '{"Organization": "PHP Documentation Team"}'; // 一个无效的 json 字符串会导致一个语法错误,在这个例子里我们使用 ' 代替了 " 作为引号 $json[] = "{'Organization': 'PHP Documentation Team'}"; foreach ($json as $string) { echo 'Decoding: ' . $string; json_decode($string); switch (json_last_error()) { case JSON_ERROR_NONE: echo ' - No errors'; break; case JSON_ERROR_DEPTH: echo ' - Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: echo ' - Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: echo ' - Unexpected control character found'; break; case JSON_ERROR_SYNTAX: echo ' - Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: echo ' - Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: echo ' - Unknown error'; break; } echo PHP_EOL; } ?>
Decoding: {"Organization": "PHP Documentation Team"} - No errors Decoding: {'Organization': 'PHP Documentation Team'} - Syntax error, malformed JSON
위 내용은 PHP json의 일반적인 방법은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!