文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在 PHP 中漂亮地打印 JSON

2024-02-27 19:54

关注

本文将介绍在 PHP 中美化原始 JSON 字符串的不同方法。


使用 HTML <pre> 标签和 JSON_PRETTY_PRINT 选项来美化 PHP 中的 JSON 字符串

我们可以使用 json_encode() 函数将值转换为 JSON 格式。我们可以将索引数组、关联数组和对象编码为 JSON 格式。json_encode() 函数有一个选项 JSON_PRETTY_PRINT 美化 JSON 字符串。我们可以指定要美化的字符串,然后是 json_encode() 函数中的选项。它将在字符之间添加一些空格并使字符串看起来更好。但是,我们可以使用 <pre> HTML 标签将字符串缩进到新行。我们将在下面的例子中美化一个关联数组。标签在字符串中的每个键值对之后保留换行符。

例如,在变量 $age 中创建一个关联数组。写出键 MarcusMasonJadon 以及值 231920。接下来,在 $age 变量上使用 json_encode() 函数并编写选项 JSON_PRETTY_PRINT 作为第二个参数,并将表达式存储在 $json_pretty 变量中。然后,用 HTML <pre> 标签回显包含它的变量。

示例代码:

$age = array("Marcus"=>23, "Mason"=>19, "Jadon"=>20)
$json_pretty = json_encode($age, JSON_PRETTY_PRINT);
echo "<pre>".$json_pretty."<pre/>";

输出:

{
    "Marcus": 23,
    "Mason": 19,
    "Jadon": 20
}

使用 application/jsonJSON_PRETTY_PRINT 选项来美化 PHP 中的 JSON 字符串

我们可以使用 header() 函数将 Content-Type 设置为 application/json 以通知浏览器类型。它将以 JSON 格式显示数据。我们可以像第一种方法一样使用 JSON_PRETTY_PRINT 选项来美化字符串。我们将使用相同的关联数组进行演示。我们可以像第一种方法一样使用 json_encode() 函数。

例如,编写 header() 函数并将 Content-Type 设置为 application/json。在下一行中,像我们在第一种方法中所做的那样,在数组上使用带有 JSON_PRETTY_PRINT 选项的 json_encode() 函数。因此,我们将在每一行中获得一个 JSON 数据的美化版本。

示例代码:

$age = array("Marcus"=>23, "Mason"=>19, "Jadon"=>20);
header('Content-Type: application/json');
echo json_encode($age, JSON_PRETTY_PRINT);
?>

输出:

{
    "Marcus": 23,
    "Mason": 19,
    "Jadon": 20
}

在 PHP 中使用 json_encode()json_decode() 函数美化 JSON 字符串

我们可以使用 json_encode() 函数、json_decode() 函数和 JSON_PRETTY_PRINT 作为参数来美化 PHP 中的 JSON 字符串。我们也像第二种方法一样使用 header() 函数来通知浏览器有关 JSON 格式的信息。我们将在以下示例中美化一个 JSON 对象。我们将获取 JSON 对象并使用 json_decode() 函数对其进行解码,然后使用 json_encode() 函数和 JSON_PRETTY_PRINT 选项对其进行编码。

例如,将 Content-Type 设置为 application/json,就像我们在上面的方法中所做的那样。创建一个变量 $json1 并在其中存储一个原始 JSON 对象。然后,对变量 $json1 使用 json_decode() 函数。使用解码的 JSON 对象作为 json_encode() 函数的第一个参数,使用 JSON_PRETTY_PRINT 选项作为第二个参数。将表达式存储在 $json2 变量中并回显它。

示例代码:

header('Content-Type: application/json');
$json1 = '{"a":10,"b":20,"c":30,"d":40,"e":50}';
$json2 = json_encode(json_decode($json1), JSON_PRETTY_PRINT);
echo $json2;

输出:

{
    "a": 10,
    "b": 20,
    "c": 30,
    "d": 40,
    "e": 50
}
阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯