在web开发中,经常会涉及到从前端页面提交json格式的数据到后端,然后需要将这些数据转化为php可以操作的数组或对象形式。本文将介绍如何使用php将json数据转化为数组对象。
JSON是一种轻量级的数据交换格式,具有结构清晰、易于读写等特点。PHP内置JSON处理函数,可以很方便地将JSON转化为数组或对象形式。
假设我们有如下JSON数据:
{
"name": "Tom",
"age": 20,
"address": {
"province": "Guangdong",
"city": "Guangzhou"
},
"hobbies": [
"reading",
"swimming"
]
}使用PHP的json_decode()函数可以将其转化为数组对象。函数的用法如下:
array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])
参数说明:
立即学习“PHP免费学习笔记(深入)”;
- $json:需要解码的JSON字符串。
- $assoc(可选):当该参数为真时,将返回数组形式,为假时返回对象形式。默认为假。
- $depth(可选):设置解析JSON数据的最大深度。默认为512,超出范围将返回null。
- $options(可选):设置JSON解码器的选项,如JSON_BIGINT_AS_STRING可以将大整数视为字符串返回。
代码示例:
$jsonStr = '{ "name": "Tom", "age": 20, "address": { "province": "Guangdong", "city": "Guangzhou" }, "hobbies": [ "reading", "swimming" ] }';
$array = json_decode($jsonStr, true);
print_r($array);输出结果:
Array
(
[name] => Tom
[age] => 20
[address] => Array
(
[province] => Guangdong
[city] => Guangzhou
)
[hobbies] => Array
(
[0] => reading
[1] => swimming
)
)可以看到,json_decode()函数将JSON字符串转化为了PHP数组对象。
PHP经典实例(第2版)能够为您节省宝贵的Web开发时间。有了这些针对真实问题的解决方案放在手边,大多数编程难题都会迎刃而解。《PHP经典实例(第2版)》将PHP的特性与经典实例丛书的独特形式组合到一起,足以帮您成功地构建跨浏览器的Web应用程序。在这个修订版中,您可以更加方便地找到各种编程问题的解决方案,《PHP经典实例(第2版)》中内容涵盖了:表单处理;Session管理;数据库交互;使用We
如果要将JSON数据转化为PHP对象形式,可以去掉函数中的第二个参数或将其设置为false。
除了将JSON数据转化为数组或对象形式,PHP还可以将数组或对象形式的数据编码为JSON字符串。这可以使用PHP的json_encode()函数实现。函数用法如下:
string json_encode(mixed $value[, int $options = 0[, int $depth = 512]])
参数说明:
立即学习“PHP免费学习笔记(深入)”;
- $value:需要编码为JSON字符串的值。
- $options(可选):设置JSON编码器的选项,如JSON_PRETTY_PRINT可以使编码后的JSON字符串更易于阅读。
- $depth(可选):设置编码JSON数据的最大深度。默认为512,超出范围将返回空字符串。
代码示例:
$array = array(
'name' => 'Tom',
'age' => 20,
'address' => array(
'province' => 'Guangdong',
'city' => 'Guangzhou'
),
'hobbies' => array(
'reading',
'swimming'
)
);
$jsonStr = json_encode($array, JSON_PRETTY_PRINT);
echo $jsonStr;输出结果:
{
"name": "Tom",
"age": 20,
"address": {
"province": "Guangdong",
"city": "Guangzhou"
},
"hobbies": [
"reading",
"swimming"
]
}在实际开发中,经常会使用AJAX技术向后端服务器提交JSON数据,然后通过PHP将其转化为可操作的形式。掌握以上JSON相关的PHP函数,能够更加方便地处理JSON数据。










