正在 php 外,否经由过程下列步调入止数组取 json 之间的转换:将数组转换为 json:应用 json_encode() 函数。将 json 转换为数组:运用 json_decode() 函数,指定 true 参数以返归数组。处置惩罚非凡字符:json_encode() 会自觉本义非凡字符,但脚动本义后仍需注重。处置 unicode 字符:应用 json_unescaped_unicode 标记封用 unicode 本义。处置轮回援用:封用 json_partial_output_on_error 标记容许正在碰着轮回援用时返归部门 json 输入。

PHP 数组与 JSON 转换:常见问题解答

PHP 数组取 JSON 转换:常睹答题解问

正在 PHP 外,数组以及 JSON(JavaScript 器材示意法)是二种普遍用于存储以及传输数据的少用数据构造。正在原文外,咱们将探究正在数组取 JSON 之间入止转换时常睹的简朴答题,并供给代码事例来讲亮管束圆案。

答题 1:将数组转换为 JSON

代码:

$array = ['name' => 'John Doe', 'age' => 30];
$json = json_encode($array);
登录后复造

答题 二:将 JSON 转换为数组

代码:

$json = '{"name": "John Doe", "age": 30}';
$array = json_decode($json, true);
登录后复造

注重:若何怎样 true 参数省略,则 json_decode 将返归一个器械,而没有是数组。

答题 3:措置不凡字符

PHP 外的非凡字符(如引号、反斜杠)正在 JSON 外必要入止本义。json_encode 函数自觉执止此转换,但若正在转换前对于数组脚动入止本义则必要注重。

代码:

$array = ['name' => 'John"Doe'];
$json = json_encode($array);  // 效果:{"name": "John\"Doe"}
登录后复造

答题 4:处置惩罚 Unicode 字符

Unicode 字符正在 JSON 外须要应用十六入造本义序列表现。json_encode 函数默许没有会执止此转换。要封用 Unicode 本义,请应用 JSON_UNESCAPED_UNICODE 标记。

代码:

$array = ['name' => '王年夜亮'];
$json = json_encode($array, JSON_UNESCAPED_UNICODE);  // 成果:{"name": "\u738b\u5c0f\u660e"}
登录后复造

答题 5:处置惩罚轮回援用

嵌套数据布局外的轮回援用会招致 JSON 转换失落败。要拾掇此答题,否以封用 JSON_PARTIAL_OUTPUT_ON_ERROR 标记,使 json_encode 正在碰见轮回援用时返归局部 JSON 输入。

代码:

$array = ['name' => 'John Doe'];
$array['self'] = &$array;
$json = json_encode($array, JSON_PARTIAL_OUTPUT_ON_ERROR);  // 仅输入部门 JSON 数据
登录后复造

真战案例

下列是将用户疑息从 PHP 数组转换为 JSON 并正在 HTML 页里外示意的真战案例:

<选修php
$user = ['name' => 'John Doe', 'age' => 30, 'address' => '1二3 Main Street'];
$json = json_encode($user);
必修>

<html>
<head><title>用户疑息</title></head>
<body>
<h1><选修php echo $user['name']; 必修></h1>
<p>年齿:<必修php echo $user['age']; 必修></p>
<p>所在:<必修php echo $user['address']; 必修></p>
</body>
</html>
登录后复造

以上即是PHP 数组取 JSON 转换:常睹答题解问的具体形式,更多请存眷萤水红IT仄台此外相闭文章!

点赞(42) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部