php 将json转成数组对象

在Web开发中,经常会涉及到从前端页面提交JSON格式的数据到后端,然后需要将这些数据转化为PHP可以操作的数组或对象形式。本文将介绍如何使用PHP将JSON数据转化为数组对象。

JSON是一种轻量级的数据交换格式,具有结构清晰、易于读写等特点。PHP内置JSON处理函数,可以很方便地将JSON转化为数组或对象形式。

假设我们有如下JSON数据:

1

2

3

4

5

6

7

8

9

10

11

12

{

“name”: “Tom”,

“age”: 20,

“address”: {

“province”: “Guangdong”,

“city”: “Guangzhou”

},

“hobbies”: [

“reading”,

“swimming”

]

}

登录后复制

使用PHP的json_decode()函数可以将其转化为数组对象。函数的用法如下:

1

array|object json_decode(string $json[, bool $assoc = false[, int $depth = 512[, int $options = 0]]])

登录后复制

参数说明:

$json:需要解码的JSON字符串。$assoc(可选):当该参数为真时,将返回数组形式,为假时返回对象形式。默认为假。$depth(可选):设置解析JSON数据的最大深度。默认为512,超出范围将返回null。$options(可选):设置JSON解码器的选项,如JSON_BIGINT_AS_STRING可以将大整数视为字符串返回。

代码示例:

1

2

3

4

5

$jsonStr = { “name”: “Tom”, “age”: 20, “address”: { “province”: “Guangdong”, “city”: “Guangzhou” }, “hobbies”: [ “reading”, “swimming” ] };

$array = json_decode($jsonStr, true);

print_r($array);

登录后复制

输出结果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

Array

(

[name] => Tom

[age] => 20

[address] => Array

(

[province] => Guangdong

[city] => Guangzhou

)

[hobbies] => Array

(

[0] => reading

[1] => swimming

)

)

登录后复制

可以看到,json_decode()函数将JSON字符串转化为了PHP数组对象。

如果要将JSON数据转化为PHP对象形式,可以去掉函数中的第二个参数或将其设置为false。

除了将JSON数据转化为数组或对象形式,PHP还可以将数组或对象形式的数据编码为JSON字符串。这可以使用PHP的json_encode()函数实现。函数用法如下:

1

string json_encode(mixed $value[, int $options = 0[, int $depth = 512]])

登录后复制

参数说明:

$value:需要编码为JSON字符串的值。$options(可选):设置JSON编码器的选项,如JSON_PRETTY_PRINT可以使编码后的JSON字符串更易于阅读。$depth(可选):设置编码JSON数据的最大深度。默认为512,超出范围将返回空字符串。

代码示例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

$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;

登录后复制

输出结果:

1

2

3

4

5

6

7

8

9

10

11

12

{

“name”: “Tom”,

“age”: 20,

“address”: {

“province”: “Guangdong”,

“city”: “Guangzhou”

},

“hobbies”: [

“reading”,

“swimming”

]

}

登录后复制

在实际开发中,经常会使用AJAX技术向后端服务器提交JSON数据,然后通过PHP将其转化为可操作的形式。掌握以上JSON相关的PHP函数,能够更加方便地处理JSON数据。

以上就是php 将json转成数组对象的详细内容,更多请关注php中文网其它相关文章!

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞2910 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容