PHP 和 JSON

JSON 是什么?

JSON(JavaScript Object Notation)代表 JavaScript 对象表示法,它是一种存储和交换数据的语法。

由于 JSON 格式是基于文本的格式,因此它可以轻松地发送到服务器和从服务器接收,并且可以由任何编程语言用作数据格式。

PHP 和 JSON

PHP 提供了一些内置函数来处理 JSON。

首先,我们将查看以下两个函数:

  • json_encode()
  • json_decode()

PHP - json_encode()

json_encode() 函数用于将值编码为 JSON 格式。

实例

这个例子展示了如何将关联数组编码为 JSON 对象:

<?php
$age = array("Bill"=>35, "Steve"=>37, "Elon"=>43);

echo json_encode($age);
?>

亲自试一试

实例

这个例子展示了如何将索引数组编码为 JSON 数组:

<?php
$cars = array("Volvo", "BMW", "Audi");

echo json_encode($cars);
?>

亲自试一试

PHP - json_decode()

json_decode() 函数用于将 JSON 对象解码为 PHP 对象或关联数组。

实例

这个例子将 JSON 数据解码为 PHP 对象:

<?php
$jsonobj = '{"Bill":35,"Steve":37,"Elon":43}';

var_dump(json_decode($jsonobj));
?>

亲自试一试

json_decode() 函数默认返回一个对象。json_decode() 函数有第二个参数,当设置为 true 时,JSON 对象会被解码为关联数组。

实例

这个例子将 JSON 数据解码为 PHP 关联数组:

<?php
$jsonobj = '{"Bill":35,"Steve":37,"Elon":43}';

var_dump(json_decode($jsonobj, true));
?>

亲自试一试

PHP - 访问解码后的值

以下是两个例子,展示了如何从对象和关联数组中访问解码后的值:

实例

这个例子展示了如何从 PHP 对象中访问值:

<?php
$jsonobj = '{"Bill":35,"Steve":37,"Elon":43}';

$obj = json_decode($jsonobj);

echo $obj->Bill;
echo $obj->Steve;
echo $obj->Elon;
?>

亲自试一试

实例

这个例子展示了如何从 PHP 关联数组中访问值:

<?php
$jsonobj = '{"Bill":35,"Steve":37,"Elon":43}';

$arr = json_decode($jsonobj, true);

echo $arr["Bill"];
echo $arr["Steve"];
echo $arr["Elon"];
?>

亲自试一试

PHP - 遍历值

您还可以使用 foreach() 循环遍历值:

实例

这个例子展示了如何遍历 PHP 对象的值:

<?php
$jsonobj = '{"Bill":35,"Steve":37,"Elon":43}';

$obj = json_decode($jsonobj);

foreach($obj as $key => $value) {
  echo $key . " => " . $value . "<br>";
}
?>

亲自试一试

实例

这个例子展示了如何遍历 PHP 关联数组的值:

<?php
$jsonobj = '{"Bill":35,"Steve":37,"Elon":43}';

$arr = json_decode($jsonobj, true);

foreach($arr as $key => $value) {
  echo $key . " => " . $value . "<br>";
}
?>

亲自试一试