Json数据格式化

<?php  
 
/** Json数据格式化
* @param  Mixed  $data   数据
* @param  String $indent 缩进字符,默认4个空格
* @return JSON
*/  
function jsonFormat($data, $indent=null){

// 缩进处理  
    $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;  
}  
 
 
header(‘content-type:application/json;charset=utf8‘);

$json_string = file_get_contents(‘json_string.txt‘);
echo jsonFormat($json_string);  
 
?>

json string : { "people": [{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },{ "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},{ "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }]}

时间: 2024-10-13 20:36:52

Json数据格式化的相关文章

php JSON数据格式化方法

JSON_ERROR_NONE (integer) 没有错误发生.自 PHP 5.3.0 起生效. JSON_ERROR_DEPTH (integer) 到达了最大堆栈深度.自 PHP 5.3.0 起生效. JSON_ERROR_STATE_MISMATCH (integer) 出现了下溢(underflow)或者模式不匹配.自 PHP 5.3.0 起生效. JSON_ERROR_CTRL_CHAR (integer) 控制字符错误,可能是编码不对.自 PHP 5.3.0 起生效. JSON_E

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格

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"

格式化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>

利用Gson将JSON数据进行格式化(pretty print)

我们可以利用Gson包将String类型的JSON数据进行格式化. Gson gson = new GsonBuilder().setPrettyPrinting().create(); JsonParser jp = new JsonParser(); JsonElement je = jp.parse(uglyJSONString); String prettyJsonString = gson.toJson(je); 使用 new GsonBuilder.setPrettyPrinting

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 %

spingmvc 返回json数据日期格式化方法

第一种: json 用的是这个依赖 <!-- JSON lib 开发包 以及它的依赖包 --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.6.0</version> </dependency> 在springmvc返回j

js实现格式化JSON数据方法

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

在使用json.dumps()格式化响应数据时报错TypeError: Object of type Response is not JSON serializable

今天在处理接口返回数据格式化的时候报错:TypeError: Object of type Response is not JSON serializable.响应的对象不可序列化 解决: 打印出它响应结果是什么类型,发现是个对象. 然后先把响应结果转为json,再去格式化响应内容. 如下: import requests import json url = 'https://api.apishop.net/common/weather/get15DaysWeatherByArea' apike