json数据在传输过程中,是以文本也就是字符串的形式传递的,而在不同的编程语言中操作JSON数据的往往是JSON对象。JSON对象和JSON字符串之间的相互转换是关键。传递的Json字符串转换Json对象,以及Json对象转换Json字符串的方法有很多,不同的程序语言有不同的方法。下面给大家介绍一下php格式化转换JSON的方法
php JSON字符串对象互相转换主要是分别使用:json_decode() 和 json_encode两个函数。
一、php JSON字符串转换为JSON对象
json_decode() 对 JSON 格式的字符串进行编码,转为一个php变量,注意当函数后面的参数设置为true时,转换后是返回 array 而非 object
JSON 格式的字符串
$json = '{"a":"php","b":"mysql","c":3}';
其中a为键,php为a的键值。
实例:
<?php
$json = '{"a":"php","b":"mysql","c":3}';
$json_Class=json_decode($json);
$json_Array=json_decode($json, true);
print_r($json_Class);
print_r($json_Array);
?>
程序输出:
stdClass Object (
[a] => php
[b] => mysql
[c] => 3 )
Array (
[a] => php
[b] => mysql
[c] => 3 )
在上面代码的前提下访问对象类型$json_Class的a的值
echo $json_Class->{'a'};
程序输出:php
访问数组类型$json_Array的a的值
echo $json_Array['a'];
程序输出:php
二、php JSON对象转换为JSON字符串
json_encode() 对变量进行JSON编码。执行成功返回JSON数据,否则返回FALSE。该函数只能接受 UTF-8 编码的数据。
$book = array('a'=>'kw360','b'=>'jisuanqi','c'=>'json','d'=>'javascript');
$json = json_encode($book);
echo $json;