在进行接口调试或接口说明时,常常需要把接口返回的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_UNICODEJSON_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字符串相关推荐

  1. php变量原格式输出,PHP格式化输出打印变量

    PHP 常用的输入变量函数print_r,但是输出没有换行,看起来很费力 我们可以自定义一个函数来实现变量的格式化输出,代码如下: function dump($vars, $label = '', ...

  2. day02 格式化输出 运算符 编码 字符串 列表 元组 字典 set集合 深浅拷贝

    day02学习大纲 一. 格式化输出: %s 占位字符串 %d 占位数字 "xxx%sx %sxx" % (变量, 变量) 二. 运算符: a+=b a = a + b and 并 ...

  3. 在PostgreSQL命令行psql里格式化输出json字段

    为什么80%的码农都做不了架构师?>>>    在pgsql的psql命令里直接select输出json字段是一长串字符,这对阅读非常不友好,查了好久也没查到pgsql有格式化输出j ...

  4. ctypes结构体(Structure)通用格式化输出打印等

    背景 在使用python和c\c++混合编程的时候,我们通常使用python的ctypes方案,这时在编码过程中就免不了要与c的结构体struct打交道. 在编码过程,尤其是调试中,我们有时需要便捷地 ...

  5. Python中的标准库函数(内置函数)print()输出(打印出)字符串的常见用法

    这篇博文用于记录下Python中的标准库函数print()的常见用法,随着时间的推移,可能会有更新. print 在 Python3.x 是一个函数,但在 Python2.x 版本不是一个函数,只是一 ...

  6. css字符串匹配高亮,使用正则表达式的格式化与高亮显示json字符串

    json字符串很有用,有时候一些后台接口返回的信息是字符串格式的,可读性很差,这个时候要是有个可以格式化并高亮显示json串的方法那就好多了,下面看看一个正则表达式完成的json字符串的格式化与高亮显 ...

  7. pytho格式化输出整数小数字符串

    python print格式化输出. 打印字符串 print("His name is %s,Hello"%("Aviad")) print("His ...

  8. 格式化输出,运算符,编码,字符串(索引,切片,大小写转换等等)

    格式化输出%s和format{} , 运算符 , 编码 , 字符串(索引,切片,大小写转换,拉长字符,去空格,替换,切割,格式化输出format , count数数 , find查找 , index求 ...

  9. php解析json里的hson_这种json字符串PHP如何解析?

    感觉以个各位大神帮助.其实问题我找到了,也解决了. 并不是上述 \x** 的的问题,PHP是有能力对这些字符转成正常字符的,我的问题是出在一些非utf8范围的字符上, 我用网上找到的一个方法,把非UT ...

  10. jq输出文本_如何用 Linux 命令行工具解析和格式化输出 JSON | Linux 中国

    我们将使用 Linux 上的命令行工具解析并格式化打印 JSON.它对于在 shell 脚本中处理大型 JSON 数据或在 shell 脚本中处理 JSON 数据非常有用.-- Ostechnix J ...

最新文章

  1. PyTorch中torchvision介绍
  2. PHP替换字符串函数strtr()和str_replace()
  3. discuz模板解析注释
  4. 大马哈鱼的C#学习笔记(3):Invoke/BeginInvoke/DynamicInvoke
  5. PHP获取当前毫秒时间戳
  6. python试卷(有答案版本、个人答案不是官方答案)_python试卷(有答案版本,个人答案不是官方答案).doc...
  7. python中sys模块有什么用_Python sys模块用法详解
  8. WEB前端 Vue 全家桶介绍
  9. 的环境下 qt 运行在_Ubuntu16.04环境下运行vins mono(环境配置及编译)之ROS kinetic的安装...
  10. 快捷指令_iOS快捷指令中心,太实用啦
  11. 诗与远方:无题(八十八)
  12. 【kafka】kafka 新增节点 报错 InconsistentBrokerIdException Configured broker.id doesn‘t match
  13. 以太网协议号字段定义
  14. VS2015 如何打包winform 安装程序
  15. android地球经纬度平面图,地球经纬度划分图高清 怎么划分经纬度
  16. Python数据有效性DataValidation模块
  17. IEEE754转换规则
  18. 蓝桥杯 第十七天 动态规划(3)
  19. ASP.NET Core中的环境Development、Staging、Production
  20. 浅谈禁忌搜索(TabuSearch)

热门文章

  1. quartus中与modelsim进行联合仿真出现错误error:(vopt-13130)failed to find design unit****
  2. 使用融资的心得和教训
  3. 怎么清除U盘病毒的简单步骤
  4. shell脚本-md5码
  5. 网络间谍:你的共享文件夹网络监视器
  6. 荒野行动pc版显示连接不到服务器,荒野行动PC版连接不上服务器怎么办 进不去游戏...
  7. Linux aarch64交叉编译之glm数学库
  8. 201871010126 王亚涛 《面向对象程序设计(java)》 第四周学习总结
  9. 海尔计算机无法装win7系统,海尔Haier电脑预装win8换win7系统BIOS设置及安装教程
  10. 传统计算机硬盘和固态硬盘有哪些区别,工业级固态硬盘与传统硬盘有什么区别...