java格式化json串
- package com.loan.modules.extbiz.in.rabbitmq.util;
- import com.loan.modules.extbiz.in.rabbitmq.exception.JsonException;
- import net.sf.json.JSONException;
- import net.sf.json.JSONObject;
- public class FormatUtil {
- /**
- * 格式化
- *
- * @param jsonStr
- * @return
- * @author lizhgb
- * @Date 2015-10-14 下午1:17:35
- * @Modified 2017-04-28 下午8:55:35
- */
- public static String formatJson(String jsonStr) {
- if (null == jsonStr || "".equals(jsonStr))
- return "";
- StringBuilder sb = new StringBuilder();
- char last = '\0';
- char current = '\0';
- int indent = 0;
- boolean isInQuotationMarks = false;
- for (int i = 0; i < jsonStr.length(); i++) {
- last = current;
- current = jsonStr.charAt(i);
- switch (current) {
- case '"':
- if (last != '\\'){
- isInQuotationMarks = !isInQuotationMarks;
- }
- sb.append(current);
- break;
- case '{':
- case '[':
- sb.append(current);
- if (!isInQuotationMarks) {
- sb.append('\n');
- indent++;
- addIndentBlank(sb, indent);
- }
- break;
- case '}':
- case ']':
- if (!isInQuotationMarks) {
- sb.append('\n');
- indent--;
- addIndentBlank(sb, indent);
- }
- sb.append(current);
- break;
- case ',':
- sb.append(current);
- if (last != '\\' && !isInQuotationMarks) {
- sb.append('\n');
- addIndentBlank(sb, indent);
- }
- break;
- default:
- sb.append(current);
- }
- }
- return sb.toString();
- }
- /**
- * 添加space
- *
- * @param sb
- * @param indent
- * @author lizhgb
- * @Date 2015-10-14 上午10:38:04
- */
- private static void addIndentBlank(StringBuilder sb, int indent) {
- for (int i = 0; i < indent; i++) {
- sb.append('\t');
- }
- }
- public static void ifgetJson(String reqjson) throws JsonException{
- try {
- JSONObject jsonObject = JSONObject.fromObject(reqjson);
- } catch (JSONException e) {
- throw new JsonException("进件系统请求json串,不是正规json格式,请求json串为=="+reqjson);
- }
- }
- }
java格式化json串的更多相关文章
- Java 转JSON串
一.JSON (JavaScript Object Notation) 1.轻量级数据交换格式能够替代XML的工作 2.数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小(简洁.简单.体积小 ...
- java解析json串获取key和value
网上例子巨多,纯属个人笔记: JSONObject maleArray = maleObject.getJSONObject("extension"); Iterator<S ...
- gson在java和json串之间的应用
public class JsonToJavaUtil { /** * 将json转成成javaBean对象 * * @param <T> * 返回类型 * @param json * 字 ...
- java解析json串常识
注意:JSONObject 和JSONArray的使用区别 报错:A JSONObject text must begin with '{' at character 1 of 分析: JSONOb ...
- JS格式化JSON串显示在表格中
JS代码如下,这里用了jq的语法: <script type="text/javascript"> $(function(){ var text = $("# ...
- java拼接JSON串
String str = "{\"route\":\"onGift\",\"time\":\"\",\&quo ...
- java中JSON串转换并获取数据
String strAllImp= " [{"id":2,"name":"还不错","count":3}]&q ...
- jsp传给java属性,java生成json串,方便以后取出来
前台代码 $.ajax({ url : '<%=basePath%>userorderother/canUpdateCust.do', type : 'POST', data: {'kdc ...
- java 格式化json字符串
须要下载:gson-2.2.4.jar
随机推荐
- Hive 中的四种排序详解,再也不会混淆用法了
Hive 中的四种排序 排序操作是一个比较常见的操作,尤其是在数据分析的时候,我们往往需要对数据进行排序,hive 中和排序相关的有四个关键字,今天我们就看一下,它们都是什么作用. 数据准备 下面我们 ...
- Date、SimpleDateFormat以及Calendar
Date类 毫秒值 java.util.Date:表示日期和时间的类 类Date表示特定的瞬间,精确到毫秒 日期转毫秒,号秒转日期 中国属于东八区,会把事件增加8个小时 1天 = 4 * 60 * 6 ...
- 20210107 - python 的Excel自动化
1.前置条件:用python, 开发工具pycharm 2.安装包: pip install openpyxl, 该包支持:xlsx, 但是不支持xlrd.xlwt格式的文件 3.概念介绍: 一个e ...
- EasyUI 表单插件 multiline easyui-textbox 多行换行失效问题
1.问题描述:原始html: <input class="easyui-textbox" name="myname" id="myid" ...
- 【JavaWeb】AJAX 请求
AJAX 请求 什么是 AJAX AJAX(Asynchronous JavaScript And XMl),即异步 JS 和 XML.是指一种创建交互式网页应用的网页开发技术. AJAX 是一种浏览 ...
- 深入理解MySQL索引(下)
先创建一个T表. mysql> create table T ( ID int primary key, k int NOT NULL DEFAULT 0, s varchar(16) NOT ...
- 比较Power BI和Tableau,好比用奔驰对比奥迪
经常会有人问Power BI和Tableau的区别,好吧,为了非IT专业的能看懂,咱们就用车,奔驰和奥迪来对比一下.因为他们确实有太多相似之处. 所以Power BI VS Tableau,就相当于国 ...
- 【Oracle】想查询相关的v$视图,但是提示表或视图不存在解决办法
原因是使用的用户没有相关的查询权限导致 解决办法: grant select any dictionary to 用户; --这个权限比较大 这个权限是最低的要求,但是可以访问到v$相关视图 ...
- Ubuntu16.04安装MySQL8.0
1.Ubuntu换源(阿里云) sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo vi /etc/apt/sources.list ...
- k8s用kubectl管理应用升级,服务发布与回滚,扩缩容
应用升级 Kubectl set image --help 有案例指定新版本 [root@k8s-master ~]# kubectl set image deployment/nginx nginx ...