json 转换成html,json字符串转换为html字符串
json数据格式用于数据传输转换是十分方便的,但是直接预览的可读性差,所以把json串转换为html串,可以直接在页面展示。
这种html展示在json列表中效果尤为明显。
注意:json格式一定要正确! 文件再大也不能分页!
public class Json2Html {
private static String html = "";
/**
* 将json格式字符串转换成html字符串
* @param json String
* @return html String
*/
public static String jsonToHtml(String json) {
//判断json格式是否规范
if (isGoodJson(json)) {
JsonElement j = new JsonParser().parse(json);
html = "";
json2html(j);
return html;
} else {
return "json数据格式不规范,无法解析。"+json;
}
}
/**
* 判断json串格式是否规范
* @param json String
* @return true(规范) false(不规范)
*/
public static boolean isGoodJson(String json) {
if (StringUtils.isBlank(json)) {
return false;
}
try {
new JsonParser().parse(json);
return true;
} catch (JsonParseException e) {
//System.out.println("bad json: " + json);
return false;
}
}
/**
* json转html (递归)
* @param json gson对象
* 转换过程不断修改全局html String
*/
public static void json2html(JsonElement json){
//数组 绘制表格
if(json.isJsonArray()){
JsonArray jArray = json.getAsJsonArray();
Iterator it = jArray.iterator();
html += "
int f = 0;
while(it.hasNext()){
JsonElement jsonElement=(JsonElement) it.next();
if(f == 0){
html += "";
jsonGetHead(jsonElement);
html += "
";
}
html += "
";
jsonGetBody(jsonElement);
html += "
";
f++;
}
html += "
";
html += "
";
}else
//对象 (map)
if(json.isJsonObject()){
JsonObject jObject = json.getAsJsonObject();
Set> entrySet = jObject.entrySet();
Iterator> iter = entrySet.iterator();
while(iter.hasNext()){
// htmlBegin += "
";
// htmlEnd = "
" + htmlEnd;
Entry entry = iter.next();
String key = entry.getKey();
html += key;
html += "=";
JsonElement value = entry.getValue();
json2html(value);
}
}else
//单一字符
if(json.isJsonPrimitive()){
String finals = json.getAsString();
html += finals;
}else if(json.isJsonNull()){
}
}
/**
* 数组绘制表格 添加表头
* @param json
*/
private static void jsonGetHead(JsonElement json){
JsonObject jObject = json.getAsJsonObject();
Set> entrySet = jObject.entrySet();
Iterator> iter = entrySet.iterator();
while(iter.hasNext()){
Entry entry = iter.next();
String key = entry.getKey();
html += "
" + key + "";
}
}
/**
* 数组绘制表格 添加表体
* @param json
*/
private static void jsonGetBody(JsonElement json){
JsonObject jObject = json.getAsJsonObject();
Set> entrySet = jObject.entrySet();
Iterator> iter = entrySet.iterator();
while(iter.hasNext()){
Entry entry = iter.next();
html += "
";
JsonElement value = entry.getValue();
json2html(value);
html += "
";
}
}
}
遗憾的是,文件达到20M左右程序就基本瘫痪了。如何解?
json 转换成html,json字符串转换为html字符串相关推荐
- 使用Jackson将一个对象转换成一个JSON字符串
由于ajax的流行,在程序中使用了越来越多的json来进行数据的传输,而Jackson可以将一个普通的java对象转换成一个json的字符串,帮助程序员进行前后端数据的传输. 首先需要导入程序依赖的j ...
- json转php数组 在线,PHP如何将JSON转换成数组/对象
在PHP中可以使用json_decode()函数将JSON编码的字符串转换为适当的PHP数据类型.默认情况下,json_decode()函数将返回一个对象:但是,可以指定第二个参数为一个布尔值true ...
- php将json转化成数组,php如何把json转换成数组
php把json转换成数组的方法:首先创建一个php示例文件:然后创建一组json格式数据:接着通过"json_decode"函数把json转换成数组:最后通过"var_ ...
- php将json转换成对象,php将json转换成对象或数组
php将json转换成对象或数组 发布时间:2020-06-01 16:31:29 来源:亿速云 阅读:126 作者:鸽子 在PHP中可以使用json_decode()函数将JSON编码的字符串转换为 ...
- PHP把JSON转换成数组
在PHP中可以使用json_decode()函数将JSON编码的字符串转换为适当的PHP数据类型.默认情况下,json_decode()函数将返回一个对象:但是,可以指定第二个参数为一个布尔值true ...
- java 泛型集合 json_将泛型集合转换成分页json数据
[java]代码库package com.sunweb.util.jsonfactory; import java.util.List; import com.sunweb.util.jsonfact ...
- json转换成excel在线js小工具分享【不限制大小】
起因 我们在工作过程中,偶尔会有需求是把json转换成excel的需求.一般这个时候,我们会跑到度娘那,在输入框中输入:"json excel".然后,你会发现这个一个网站&quo ...
- json转换成实体类
今天同事问我个问题.她需要把字符串的json转换成实体类,但是一直报错.主要是实体类当中的内部类需要用静态字段static修饰,否则无法访问. 以下是报错信息 org.codehaus.jackson ...
- json转换成dart类 JSON to Dart
json_to_dart的使用 如果我们得到一个特别复杂的JSON,有时候会无从下手开始写Model,这时候就可以使用一些辅助工具.我认为json_to_dart是比较好用的一个.它可以直接把json ...
最新文章
- python中正确的表达式_python中如何正确使用正则表达式的详细模式(Verbose mode expression)...
- Linux(64) 下 Tomcat + java 环境搭建
- C语言之反序数组和求最大值和最小值
- The Dataflow Model: A Practical Approach to Balancing
- 栗子——自定义EditText实现右下角计数控件
- docker rocketmq 安装及使用
- C# richTextBox重刷最后一行,richTextBox只更新最后一行
- 免费下载IEEE论文的网站
- DVP和MIPI接口的简单区别
- Landsat5数据下载中国地区1990年
- java 热度算法_Raddit算法Java实现
- lol人物模型提取(七)
- 简单的一个百度注册界面
- 蓝牙通信的简要设计与开发(附加题)
- Java流及流操作示例
- PyQt实现按钮控件的拖动效果,利用鼠标移动事件实现。
- “好奇号”的火星发展观
- python基础------绘制条形图、直方图、饼图、热力图、极坐标图、进度条
- 《PNG文件格式》(一)PNG文件概述
- 论文投稿指南——中文核心期刊推荐(原子能技术)