php json常用方法有哪些
时间:2022-02-11 13:46
php json常用方法:1、json_encode(),用于对JSON格式的字符串进行解码;2、json_encode(),用于对JSON格式的字符串进行解码;3、json_last_error(),用于返回最后发生的错误。 本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑 php json常用方法: 1、json_encode() PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE 。 语法 示例: 输出结果: 2、json_encode() json_decode() 函数用于对 JSON 格式的字符串进行解码,并转换为 PHP 变量。 语法: 参数: json_string: 待解码的 JSON 字符串,必须是 UTF-8 编码数据 assoc: 当该参数为 TRUE 时,将返回数组,FALSE 时返回对象。 depth: 整数类型的参数,它指定递归深度 options: 二进制掩码,目前只支持 JSON_BIGINT_AS_STRING 。 示例: 输出结果: 3、json_last_error() json_last_error — 返回最后发生的错误 语法: 如果有,返回 JSON 编码解码时最后发生的错误。会返回一个整型(integer),这个值会是以下的常量之一: 示例: 输出结果: 推荐学习:《PHP视频教程》 以上就是php json常用方法有哪些的详细内容,更多请关注gxlsystem其它相关文章!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}
mixed json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
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)
}
json_last_error()
常量 含义 可用性 JSON_ERROR_NONE
没有错误发生 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
or INF
values in the value to be encodedPHP 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