PHP - 在网页里格式化输出(打印)JSON字符串
在进行接口调试或接口说明时,常常需要把接口返回的JSON数据以一种友好、易读的方式进行展现。
下面介绍一种在网页里格式化输出(打印)JSON字符串的简单方式。
原始字符串
原始字符串需要符合JSON要求的标准格式,可以包含中文,如:
//原始字符串,JSON格式
$origin_str = '{"code":200,"data":[{"color":"red","name":"红色","rgb":"ff0000"}, {"color":"green","name":"绿色","rgb":"00ff00"},{"color":"blue","name":"蓝色","rgb":"0000ff"}]}';
对原始字符串重新进行编解码
分别使用 json_decode()
和 json_encode()
方法对原始字符串进行一次解码和编码操作,重新生成JSON字符串。
表面上看,重新生成的字符串和原始字符串没有什么不同,但如果跳过直接进行下一步,无法得到最终的格式化输出效果。
//对原始字符串进行解码,转换为PHP对象或数组
$json_obj = json_decode($origin_str);//对PHP对象或数组重新进行JSON编码,生成新的字符串
//默认情况下,字符串中的中文会进行Unicode编码
$json_str = json_encode($json_obj);echo $json_str;
此时的页面输出效果:
格式化输出
有两个要点:
- 对
json_encode()
增加JSON_UNESCAPED_UNICODE
和JSON_PRETTY_PRINT
两个配置参数 - 把打印内容放在
<pre>
标签中
最终代码如下:
//原始字符串,JSON格式
$origin_str = '{"code":200,"data":[{"color":"red","name":"红色","rgb":"ff0000"},{"color":"green","name":"绿色","rgb":"00ff00"},{"color":"blue","name":"蓝色","rgb":"0000ff"}]}';//对原始字符串进行解码,转换为PHP对象或数组
$json_obj = json_decode($origin_str);//对PHP对象或数组重新进行JSON编码,生成新的字符串
//默认情况下,字符串中的中文会进行Unicode编码
//多个配置参数之间,用竖线分隔
$json_str = json_encode($json_obj, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);//页面输出
echo '<pre>';
echo $json_str;
echo '</pre>';
最终页面输出效果:
PHP - 在网页里格式化输出(打印)JSON字符串相关推荐
- php变量原格式输出,PHP格式化输出打印变量
PHP 常用的输入变量函数print_r,但是输出没有换行,看起来很费力 我们可以自定义一个函数来实现变量的格式化输出,代码如下: function dump($vars, $label = '', ...
- day02 格式化输出 运算符 编码 字符串 列表 元组 字典 set集合 深浅拷贝
day02学习大纲 一. 格式化输出: %s 占位字符串 %d 占位数字 "xxx%sx %sxx" % (变量, 变量) 二. 运算符: a+=b a = a + b and 并 ...
- 在PostgreSQL命令行psql里格式化输出json字段
为什么80%的码农都做不了架构师?>>> 在pgsql的psql命令里直接select输出json字段是一长串字符,这对阅读非常不友好,查了好久也没查到pgsql有格式化输出j ...
- ctypes结构体(Structure)通用格式化输出打印等
背景 在使用python和c\c++混合编程的时候,我们通常使用python的ctypes方案,这时在编码过程中就免不了要与c的结构体struct打交道. 在编码过程,尤其是调试中,我们有时需要便捷地 ...
- Python中的标准库函数(内置函数)print()输出(打印出)字符串的常见用法
这篇博文用于记录下Python中的标准库函数print()的常见用法,随着时间的推移,可能会有更新. print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一 ...
- css字符串匹配高亮,使用正则表达式的格式化与高亮显示json字符串
json字符串很有用,有时候一些后台接口返回的信息是字符串格式的,可读性很差,这个时候要是有个可以格式化并高亮显示json串的方法那就好多了,下面看看一个正则表达式完成的json字符串的格式化与高亮显 ...
- pytho格式化输出整数小数字符串
python print格式化输出. 打印字符串 print("His name is %s,Hello"%("Aviad")) print("His ...
- 格式化输出,运算符,编码,字符串(索引,切片,大小写转换等等)
格式化输出%s和format{} , 运算符 , 编码 , 字符串(索引,切片,大小写转换,拉长字符,去空格,替换,切割,格式化输出format , count数数 , find查找 , index求 ...
- php解析json里的hson_这种json字符串PHP如何解析?
感觉以个各位大神帮助.其实问题我找到了,也解决了. 并不是上述 \x** 的的问题,PHP是有能力对这些字符转成正常字符的,我的问题是出在一些非utf8范围的字符上, 我用网上找到的一个方法,把非UT ...
- jq输出文本_如何用 Linux 命令行工具解析和格式化输出 JSON | Linux 中国
我们将使用 Linux 上的命令行工具解析并格式化打印 JSON.它对于在 shell 脚本中处理大型 JSON 数据或在 shell 脚本中处理 JSON 数据非常有用.-- Ostechnix J ...
最新文章
- PyTorch中torchvision介绍
- PHP替换字符串函数strtr()和str_replace()
- discuz模板解析注释
- 大马哈鱼的C#学习笔记(3):Invoke/BeginInvoke/DynamicInvoke
- PHP获取当前毫秒时间戳
- python试卷(有答案版本、个人答案不是官方答案)_python试卷(有答案版本,个人答案不是官方答案).doc...
- python中sys模块有什么用_Python sys模块用法详解
- WEB前端 Vue 全家桶介绍
- 的环境下 qt 运行在_Ubuntu16.04环境下运行vins mono(环境配置及编译)之ROS kinetic的安装...
- 快捷指令_iOS快捷指令中心,太实用啦
- 诗与远方:无题(八十八)
- 【kafka】kafka 新增节点 报错 InconsistentBrokerIdException Configured broker.id doesn‘t match
- 以太网协议号字段定义
- VS2015 如何打包winform 安装程序
- android地球经纬度平面图,地球经纬度划分图高清 怎么划分经纬度
- Python数据有效性DataValidation模块
- IEEE754转换规则
- 蓝桥杯 第十七天 动态规划(3)
- ASP.NET Core中的环境Development、Staging、Production
- 浅谈禁忌搜索(TabuSearch)
热门文章
- quartus中与modelsim进行联合仿真出现错误error:(vopt-13130)failed to find design unit****
- 使用融资的心得和教训
- 怎么清除U盘病毒的简单步骤
- shell脚本-md5码
- 网络间谍:你的共享文件夹网络监视器
- 荒野行动pc版显示连接不到服务器,荒野行动PC版连接不上服务器怎么办 进不去游戏...
- Linux aarch64交叉编译之glm数学库
- 201871010126 王亚涛 《面向对象程序设计(java)》 第四周学习总结
- 海尔计算机无法装win7系统,海尔Haier电脑预装win8换win7系统BIOS设置及安装教程
- 传统计算机硬盘和固态硬盘有哪些区别,工业级固态硬盘与传统硬盘有什么区别...