文档章节

Java 控制台格式化输出 JSON 字符串

forwy
 forwy
发布于 2017/05/19 15:41
字数 168
阅读 51
收藏 0
    public static void main(String[] args) {

		String region = "{\"id\":\"1\",\"name\":\"a1\",\"obj\":{\"id\":11,\"name\":\"a11\",\"array\":[{\"id\":111,\"name\":\"a111\"},{\"id\":112,\"name\":\"a112\"}]}}";
		String fotmated = GgsBase.formatToJson(region);
		// fotmatStr = fotmatStr.replaceAll("\n", "<br/>");
		// fotmatStr = fotmatStr.replaceAll("\t", " ");
		 System.out.println(fotmated);

	}

	/**
	 * get json data backspace use '\t' new line use '\n'
	 */
	public static String formatToJson(String region) {
		int level = 0;
		StringBuffer preBuffer = new StringBuffer();
		for (int i = 0; i < region.length(); i++) {
			char c = region.charAt(i);
			if (level > 0 && '\n' == preBuffer.charAt(preBuffer.length() - 1)) {
				preBuffer.append(getLevelStr(level));
			}
			switch (c) {
			case '{':
			case '[':
				preBuffer.append(c + "\n");
				level++;
				break;
			case ',':
				preBuffer.append(c + "\n");
				break;
			case '}':
			case ']':
				preBuffer.append("\n");
				level--;
				preBuffer.append(getLevelStr(level));
				preBuffer.append(c);
				break;
			default:
				preBuffer.append(c);
				break;
			}
		}

		return String.valueOf(preBuffer);

	}

	private static String getLevelStr(int level) {
		StringBuffer lb = new StringBuffer();
		for (int levelTmp = 0; levelTmp < level; levelTmp++) {
			lb.append("\t");
		}
		return String.valueOf(lb);
	}
{
	"id":"1",
	"name":"a1",
	"obj":{
		"id":11,
		"name":"a11",
		"array":[
			{
				"id":111,
				"name":"a111"
			},
			{
				"id":112,
				"name":"a112"
			}
		]
	}
}

 

© 著作权归作者所有

forwy
粉丝 1
博文 52
码字总数 16797
作品 0
赣州
私信 提问
Java基础教程,第六讲,格式化输入输出

上一课我们留下一个思考题,StringBuilder效率为什么比String的效率高? 第四讲我们已经说过了,Java中没有内置String类型,而是在Java的类库中提供了一个基类,当直接使用String拼接字符串时...

程序员补给栈
02/08
0
0
JSON-lib框架,转换JSON、XML

Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对象。 一、 准备工作 1、 首先要去官方...

五大三粗
2015/11/03
0
0
JSON-lib框架,转换JSON、XML不再困难

JSON-lib框架,转换JSON、XML不再困难 Json-lib可以将Java对象转成json格式的字符串,也可以将Java对象转换成xml格式的文档,同样可以将json字符串转换成Java对象或是将xml字符串转换成Java对...

DavidBao
2015/05/01
0
0
log4j 使用及配置分析记录

log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。 ps:其配置文件有两种 log4j.properties 和log4j.xml 两种形式。xml更强大,功能更丰富 ,properties更简单易懂。...

北方攻城师
2015/04/12
0
0
《Java从小白到大牛精简版》之第3章 第一个Java程序

《Java从小白到大牛》纸质版已经上架了!! 本书第一个Java程序是通过控制台输出HelloWorld,以这个示例为切入点,向大家系统介绍Java程序的编写、Java源代码结构以及一些基础知识。 在Java中...

tony关东升
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java的战争

本文来自微信公众号: 金捷幡(ID:jin-jiefan) ,作者:金捷幡,封面:拉里·埃里森(东方IC) 2019年5月,彻底撕破脸的特朗普掀起对华为的战争,谷歌被迫吊销了华为的Android授权。开源软...

Java领航员
50分钟前
2
0
超详细的LM3414MRX/NOPB规格参数介绍就在这里

超详细的LM3414MRX/NOPB规格参数介绍就在这里 描述 LM3414和LM3414MRX/NOPB是具有1-A 60 W(1)共阳极功能的恒流降压LED驱动器。它们适用于驱动单串3-W HBLED,效率高达96%。它们可接受4.5...

不能吃肉的仙女
57分钟前
2
0
Eclipse国内镜像源配置方法

Table of Contents 我们在国内从官网下载Eclipse以及插件非常慢,那么,有没有方法变快呢? 有,那就是使用国内的公开镜像源替换官方源。 1 下载Eclipse 首先,我们看一个链接地址: http:/...

求神
今天
7
0
java 请求服务

一.第一种基于java web http 请求服务,必须用tomcat 容器启动才能对外提供服务 在maven 工程中pox 文件导入jar <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>h......

zaolonglei
今天
6
0
HDFS工作机制——自开发分布式数据采集系统

需求描述: 在业务系统的服务器上,业务程序会不断生成业务日志(比如网站的页面访问日志) 业务日志是用log4j生成的,会不断地切出日志文件,需要定期(比如每小时)从业务服务器上的日志目...

须臾之余
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部