json格式_如何写一个格式化json的程序

json格式_如何写一个格式化json的程序true,'errMsg'=>'','member'=>array(array('name'=>&#

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

<?php /** Json数据格式化 * @param Mixed $data 数据 * @param String $indent 缩进字符,默认4个空格 * @return JSON */ function jsonFormat($data, $indent=null){ // 对数组中每个元素递归进行urlencode操作,保护中文字符  array_walk_recursive($data, 'jsonFormatProtect'); // json encode  $data = json_encode($data); // 将urlencode的内容进行urldecode  $data = urldecode($data); // 缩进处理  $ret = ''; $pos = 0; $length = strlen($data); $indent = isset($indent)? $indent : ' '; $newline = "\n"; $prevchar = ''; $outofquotes = true; for($i=0; $i<=$length; $i++){ $char = substr($data, $i, 1); if($char=='"' && $prevchar!='\\'){ $outofquotes = !$outofquotes; }elseif(($char=='}' || $char==']') && $outofquotes){ $ret .= $newline; $pos --; for($j=0; $j<$pos; $j++){ $ret .= $indent; } } $ret .= $char; if(($char==',' || $char=='{' || $char=='[') && $outofquotes){ $ret .= $newline; if($char=='{' || $char=='['){ $pos ++; } for($j=0; $j<$pos; $j++){ $ret .= $indent; } } $prevchar = $char; } return $ret; } /** 将数组元素进行urlencode * @param String $val */ function jsonFormatProtect(&$val){ if($val!==true && $val!==false && $val!==null){ $val = urlencode($val); } } header('content-type:application/json;charset=utf8'); $arr = array( 'status' => true, 'errMsg' => '', 'member' =>array( array( 'name' => '李逍遥', 'gender' => '男' ), array( 'name' => '赵灵儿', 'gender' => '女' ) ) ); echo jsonFormat($arr); ?>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167417.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • django执行原生sql_mysql语句执行顺序

    django执行原生sql_mysql语句执行顺序前言Django在查询数据时,大多数查询都能使用ORM提供的API方法,但对于一些复杂的查询可能难以使用ORM的API方法实现,因此Django引入了SQL语句的执行方法,有以下三种执行方式ext

  • 八大排序算法(java实现) 冒泡排序 快速排序 堆排序 归并排序 等[通俗易懂]

    八大排序算法(java实现) 冒泡排序 快速排序 堆排序 归并排序 等[通俗易懂]八大排序算法一、直接插入-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度二、希尔排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度三、简单选择-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度四、堆排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度五、冒泡排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度六、快速排序-1.基本思路-2.代码实现-3.时间复杂度和空间复杂度七..

  • Python之requests的安装

    在windows系统下,只需要输入命令pipinstallrequests,即可安装。   在linux系统下,只需要输入命令sudo  pipinstallrequests,即可安装。   注:关于python第三方库的安装最好少使用easy_install,因为easy_install只能安装不能卸载,如果要卸载需要进入到python的安装

  • CSS选择器及优先级 总结

    CSS选择器及优先级 总结一、优先级不同级别在属性后面使用!important会覆盖页面内任何位置定义的元素样式。作为style属性写在元素内的样式id选择器类选择器元素选择器通配符选择器浏览器自定义或继承总结排序:!important&amp;amp;gt;行内样式&amp;amp;gt;ID选择器&amp;amp;gt;类选择器&amp;amp;gt;元素&amp;amp;gt;通配符&amp;amp;gt;继承&a

  • linux用命令dpkg,Linux中dpkg命令起什么作用呢?

    linux用命令dpkg,Linux中dpkg命令起什么作用呢?摘要:下文讲述Linux中dpkg的功能说明,如下所示;dpkg是(Debianpackage英文的缩写)dpkg命令功能:用于管理DebianLinux中的包管理(安装,创建,管理软件)的一种实用性工具dpkg命令的语法格式:dpkg[参数]—–常用参数说明——-i:安装软件包-r:删除软件包-l:输出已安装软件包列表-L:输出于软件包关联的文件-c:输出软件包内文件列表–…

  • 使用flex垂直居中(超简单)

    使用flex垂直居中(超简单)flex+margin垂直居中-加粗样式在父级中使用flex,在子级中使用margin:autobody中的代码<body> <divclass=”a”> <divclass=”b”></div> </div></body>css样式.a{ width:500px; height:500px; border:1pxsolidblue; display:flex;}.b{

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号