JSON 函数 业 ,精于勤 荒于嬉.
- JSON 函数 json_decode 对 JSON 格式的字符串进行解码
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
示例2
<?php $json = '{"foo-bar": 12345}'; $obj = json_decode($json); print $obj->{'foo-bar'}; // 12345 ?>
示例3
<?php // the following strings are valid JavaScript but not valid JSON // the name and value must be enclosed in double quotes // single quotes are not valid $bad_json = "{ 'bar': 'baz' }"; json_decode($bad_json); // null // the name must be enclosed in double quotes $bad_json = '{bar: "baz" }'; json_decode($bad_json); // null// trailing commas are not allowed $bad_json = '{bar: "baz", }'; json_decode($bad_json); // null ?>
示例4
<?php // Encode the data. $json = json_encode(array(1 => array('English' => array('One','January'),'French' => array('Une','Janvier')))); // Define the errors. $constants = get_defined_constants(true); $json_errors = array(); foreach ($constants["json"] as $name => $value) { if (!strncmp($name, "JSON_ERROR_", 11)) { $json_errors[$value] = $name; } } // Show the errors for different depths. foreach (range(4, 3, -1) as $depth) { var_dump(json_decode($json, true, $depth)); echo 'Last error: ', $json_errors[json_last_error()], PHP_EOL, PHP_EOL; } ?>
示例5
<?php $json = '{ "number": 12345678901234567890} '; var_dump(json_decode($json)); var_dump(json_decode($json, false, 512, JSON_BIGINT_AS_STRING)); ?>
- JSON 函数 json_encode 对变量进行 JSON 编码
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5); echo json_encode($arr); ?>
示例2
<?php $a = array('<foo>',"'bar'",'"baz"','&blong&', "\xc3\xa9"); echo "Normal: ", json_encode($a), "\n"; echo "Tags: ", json_encode($a, JSON_HEX_TAG), "\n"; echo "Apos: ", json_encode($a, JSON_HEX_APOS), "\n"; echo "Quot: ", json_encode($a, JSON_HEX_QUOT), "\n"; echo "Amp: ", json_encode($a, JSON_HEX_AMP), "\n"; echo "Unicode: ", json_encode($a, JSON_UNESCAPED_UNICODE), "\n"; echo "All: ", json_encode($a, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE), "\n\n"; $b = array(); echo "Empty array output as array: ", json_encode($b), "\n"; echo "Empty array output as object: ", json_encode($b, JSON_FORCE_OBJECT), "\n\n"; $c = array(array(1,2,3)); echo "Non-associative array output as array: ", json_encode($c), "\n"; echo "Non-associative array output as object: ", json_encode($c, JSON_FORCE_OBJECT), "\n\n"; $d = array('foo' => 'bar', 'baz' => 'long'); echo "Associative array always output as object: ", json_encode($d), "\n"; echo "Associative array always output as object: ", json_encode($d, JSON_FORCE_OBJECT), "\n\n"; ?>
示例3
<?php echo "Strings representing numbers automatically turned into numbers".PHP_EOL; $numbers = array('+123123', '-123123', '1.2e3', '0.00001'); var_dump( $numbers, json_encode($numbers, JSON_NUMERIC_CHECK)); echo "Strings containing improperly formatted numbers".PHP_EOL; $strings = array('+a33123456789', 'a123'); var_dump( $strings, json_encode($strings, JSON_NUMERIC_CHECK)); ?>
示例4
<?php echo "连续数组".PHP_EOL; $sequential = array("foo", "bar", "baz", "blong"); var_dump( $sequential, json_encode($sequential)); echo PHP_EOL."非连续数组".PHP_EOL; $nonsequential = array(1=>"foo", 2=>"bar", 3=>"baz", 4=>"blong"); var_dump( $nonsequential, json_encode($nonsequential)); echo PHP_EOL."删除一个连续数组值的方式产生的非连续数组".PHP_EOL; unset($sequential[1]); var_dump( $sequential, json_encode($sequential)); ?>
示例5
<?php var_dump(json_encode(12.0, JSON_PRESERVE_ZERO_FRACTION)); var_dump(json_encode(12.0)); ?>
- JSON 函数 json_last_error_msg Returns the error string of the last json_encode() or json_decode() call
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
json_last_error_msg
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
json_last_error_msg — Returns the error string of the last json_encode() or json_decode() call
说明
json_last_error_msg(): stringReturns the error string of the last json_encode() or json_decode() call, which did not specify
JSON_THROW_ON_ERROR
.参数
此函数没有参数。
返回值
Returns the error message on success, or
"No error"
if no error has occurred.
- JSON 函数 json_last_error 返回最后发生的错误
-
发表日期:2021-07-01 08:56:20 | 来源: | 分类:JSON 函数
-
示例1
<?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; } ?>
示例2
<?php // 无效的 UTF8 序列$text = "\xB1\x31"; $json = json_encode($text); $error = json_last_error(); var_dump($json, $error === JSON_ERROR_UTF8); ?>
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)