PHP自定义函数格式化json数据怎么调用?

<?php
/**
* Formats a JSON string for pretty printing
*
* @param string $json The JSON to make pretty
* @param bool $html Insert nonbreaking spaces and <br />s for tabs and linebreaks
* @return string The prettified output
*/
$arr = array("ret"=>0,"data"=>array(‘a‘ => 1, ‘b‘ => "脚本之家", ‘c‘ => 3, ‘d‘ => 4, ‘e‘ => 5));
$json = json_encode($arr);
function _format_json($json, $html = false) {
$tabcount = 0;
$result = ‘‘;
$inquote = false;
$ignorenext = false;
if ($html) {
$tab = "   ";
$newline = "<br/>";
} else {
$tab = "\t";
$newline = "\n";
}
for($i = 0; $i < strlen($json); $i++) {
$char = $json[$i];
if ($ignorenext) {
$result .= $char;
$ignorenext = false;
} else {
switch($char) {
case ‘{‘:$tabcount++;$result .= $char . $newline . str_repeat($tab, $tabcount);break;
case ‘}‘:$tabcount--;$result = trim($result) . $newline . str_repeat($tab, $tabcount) . $char;break;
case ‘,‘:$result .= $char . $newline . str_repeat($tab, $tabcount);break;
case ‘"‘:$inquote = !$inquote;$result .= $char;break;
case ‘\\‘:if ($inquote) $ignorenext = true;$result .= $char;break;
default:$result .= $char;
}
}
}
return $result;
}
echo _format_json($json);
/*
{
"ret": 0,
"data": {
"a": 1,
"b": "\u811a\u672c\u4e4b\u5bb6",
"c": 3,
"d": 4,
"e": 5
}
}
**/
?>

PS:这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

<a href="?action=up&id=200">上一篇</a>
<a href="?action=down&id=200">下一篇</a>

如果是实现上一篇就在action=up页面写函数

$id= $_GET[‘id‘];
//上一篇:
$sql= select * from article where id < ‘.$id.‘ order by id desc limit 0,1‘;
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);
//下一篇:
$sql= select * from article where id < ‘.$id.‘ order by id asc limit 0,1‘;
$rs= mysql_query($sql);
$row= mysql_fetch_array ($rs);

原理,查询比当前ID小(where id < ‘.$id.‘上一篇)和比当前ID大(where id > ‘.$id.‘下一篇)的1条(limit 0,1)数据,并按降序(desc,上一篇)和升序(asc,下一篇)显示出来,当只取一篇的时候,可以省略降序或升序。

时间: 2024-12-12 06:00:42

PHP自定义函数格式化json数据怎么调用?的相关文章

vim调用python格式化json数据

vim调用python格式化json数据 November 30, 2013GNU/Linuxpython3, Vimopenwares python有个标准模块叫json,用于编码/解码,序列化/按序列化json格式数据. 服务器返回的json数据是非格式化的,程序使用没问题,如果需要阅读则亚历山大. 可以使用vim调用python json模块提供的命令行工具json/tool.py格式化json文本. vim打开json数据,命令行模式下 :%!python3 -m json.tool %

基于Web Service的客户端框架搭建一:C#使用Http Post方式传递Json数据字符串调用Web Service

引言 前段时间一直在做一个ERP系统,随着系统功能的完善,客户端(CS模式)变得越来越臃肿.现在想将业务逻辑层以下部分和界面层分离,使用Web Service来做.由于C#中通过直接添加引用的方来调用Web Service的方式不够灵活,故采取手动发送Http请求的方式来调用Web Service.最后选择使用Post方式来调用Web Service,至于安全性和效率暂不考虑.在学习使用的过程,遇到了很多问题,也花了很长时间来解决,网上相关的帖子很少,如果各位在使用的过程中有一些问题难以解决,可

js实现格式化JSON数据方法

前言: 最近做的项目中遇到个需要在前端页面中将某个设备需要的数据格式展示出来,方便用户配置.一开始单纯的将数据格式写入到pre标签中, 但是通过pre标签写入的数据格式在代码可视化上不是很优雅.由于上述原因,所以就创建了一个全局的数据格式配置文件,通过es6 中的模板字符串来实现,这样就解决了代码可视化不优雅的问题.但是后面又增加了一个动态数据格式的需求,这样一来就不能通过模板字符串来 解决了,所以就有了这篇文章中讲述的通过js格式画JSON数据的方案,这篇文章旨在记录方案实现的方法,方便自己

手写js代码格式化json数据

目录 手写js代码格式化json数据 手写js代码格式化json数据 使用JavaScript格式化json数据.需要引入jQuery库.代码简单易懂,主要思想是递归,因为每层的数据格式都是一样的. function jsonFormat(txt, tiperror, compress/*是否为压缩模式*/) {/* 格式化JSON源码(对象转换为JSON文本) */ var indentChar = ' '; if (/^\s*$/.test(txt)) { if (tiperror) ale

js格式化json数据 + json着色 - 附源码

其实json格式化没想象中的那么复杂,难点就是json格式化的工作流程. 正好工作上需要,于是就搞了一套json格式化+json着色的方法,原生的方法,可以直接使用.json数据格式化前后对比图,如下: 下面是源码,可以根据个人需求适当修改: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>js格

自定义HttpMessageConverter接受JSON数据

Spring默认使用Jackson处理json数据.实际开发中,在业界中,使用非常受欢迎的fastjson来接受json数据. 创建一个项目,在web目录下新建一个assets/js目录,加入jquery和json2的js文件,在lib下加入fastjson的jar文件. BookController package com.wen.controller; import com.alibaba.fastjson.JSONObject; import com.wen.domain.Book; im

格式化JSON数据字符串

创建项目 创建maven项目,引入解析JSON所需jar包.pom.xml配置如下: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <!--指定jdk版本 --> <classifier>jdk15</classifier>

eval函数处理JSON数据需要加括号

在将服务器端构建好的JSON数据转化为可用的JavaScript对象时常常使用eval函数.如下: var dataJson = eval('(' + data + ')'); 在转化的时候需要将JSON字符串的外面包装一层圆括号,原因在于:加上圆括号的目的是迫使eval函数在处理JavaScript代码的时候强制将括号内的表达式(expression)转化为对象,而不是作为语句(statement)来执行.举一个例子,例如对象字面量{},如若不加外层的括号,那么eval会将大括号识别为Java

JSON----推荐个实用网站,格式化JSON数据

这个网站不错,能节省很多时间,更能帮助我理解JSON数据 http://www.jsoneditoronline.org/