博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 控制台格式化输出 JSON 字符串
阅读量:6416 次
发布时间:2019-06-23

本文共 1511 字,大约阅读时间需要 5 分钟。

  hot3.png

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", "
"); // 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"			}		]	}}

 

转载于:https://my.oschina.net/forwy/blog/904408

你可能感兴趣的文章
leetcode------3Sum
查看>>
搞懂分布式技术2:分布式一致性协议与Paxos,Raft算法
查看>>
delphi定义结构体
查看>>
Python网页解析
查看>>
程序中double类型的数输出为什么要用lf
查看>>
posix多线程有感—sysconf系统变量
查看>>
状态机/迭代器/LINQ/协程
查看>>
maven POM —— maven权威指南学习笔记(五)
查看>>
华为oj之字符串最后一个单词的长度
查看>>
mysql加减时间-函数-时间加减
查看>>
讲讲python“=”运算符上的优雅语法
查看>>
jQuery Ajax封装通用类 (linjq)
查看>>
备忘---ruby
查看>>
windows mysql忘记密码解决方案
查看>>
Linux 下用 valgrind 查找内存泄漏小例子
查看>>
需要为你的SaaS改变走向市场策略吗?本文介绍了ISV怎样使用Windows Azure实现它...
查看>>
Search in a Big Sorted Array
查看>>
已知二叉树的先序遍历序列和中序遍历序列,输出该二叉树的后序遍历序列
查看>>
swift 笔记 (十一) —— 方法(类,结构体,枚举)
查看>>
python面向对象编程
查看>>