java中如何将json对象转换为HTML格式?

2023-12-11

java中如何将json对象转换为HTML?


此代码将任何 Json 对象显示为 HTML(使用 org.json lib):

/**
 * Get the JSON data formated in HTML
 */ 
public String getHtmlData( String strJsonData ) {
    return jsonToHtml( new JSONObject( strJsonData ) );
}

/**
 * convert json Data to structured Html text
 * 
 * @param json
 * @return string
 */
private String jsonToHtml( Object obj ) {
    StringBuilder html = new StringBuilder( );

    try {
        if (obj instanceof JSONObject) {
            JSONObject jsonObject = (JSONObject)obj;
            String[] keys = JSONObject.getNames( jsonObject );

            html.append("<div class=\"json_object\">");

            if (keys.length > 0) {
                for (String key : keys) {
                    // print the key and open a DIV
                    html.append("<div><span class=\"json_key\">")
                        .append(key).append("</span> : ");

                    Object val = jsonObject.get(key);
                    // recursive call
                    html.append( jsonToHtml( val ) );
                    // close the div
                    html.append("</div>");
                }
            }

            html.append("</div>");

        } else if (obj instanceof JSONArray) {
            JSONArray array = (JSONArray)obj;
            for ( int i=0; i < array.length( ); i++) {
                // recursive call
                html.append( jsonToHtml( array.get(i) ) );                    
            }
        } else {
            // print the value
            html.append( obj );
        }                
    } catch (JSONException e) { return e.getLocalizedMessage( ) ; }

    return html.toString( );
}

那么你只需要添加特定的 CSS,例如:

.json_object { margin:10px; padding-left:10px; border-left:1px solid #ccc}
.json_key { font-weight: bold; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java中如何将json对象转换为HTML格式? 的相关文章

  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • tomcat 中受密码保护的应用程序

    我正在使用 JSP Servlet 开发一个Web应用程序 并且我使用了Tomcat 7 0 33 as a web container 所以我的要求是tomcat中的每个应用程序都会password像受保护的manager applica
  • 如何对不同的参数类型使用相同的java方法?

    我的问题 我有 2 个已定义的记录 创建对象请求 更新对象请求 必须通过实用方法进行验证 由于这两个对象具有相同的字段 因此可以对这两种类型应用相同的验证方法 现在我只是使用两种方法进行重载 但它很冗长 public record Crea
  • 使用 KnockoutJs 映射插件进行递归模板化

    我正在尝试使用以下方法在树上进行递归模板化ko映射 插入 http knockoutjs com documentation plugins mapping html 但我无法渲染它 除非我定义separate每个级别的模板 在以下情况下
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • 在我的 Spring Boot 示例中无法打开版本 3 中的 Swagger UI

    我在 Spring Boot 示例中打开 swagger ui 时遇到问题 当我访问 localhost 8080 swagger ui 或 localhost 8080 root api name swagger ui 时出现这种错误 S
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • HTML 中部分着色的阿拉伯语单词

    我不会说阿拉伯语 但我需要我们网站上对阿拉伯语的具体支持 我需要将部分阿拉伯语单词放在 span 与单词其他部分的风格不同 当我输入两个字符时 and 它们被组合成word 但是当我使用 HTML 标记时 span span 这些字母在输出
  • Iframe 相对路径挑战

    我有一个页面 在页面内有一个 Iframe 目录如下 Folder1 Folder2 IframeCSS IframeCSS Css iframePage1 html stuff css parentPage1 html 在 iframeP
  • 使用 AsyncTask 传递值

    我一直在努力解决这个问题 但我已经到了不知道该怎么办的地步 我想做的是使用一个类下载文件并将其解析为字符串 然后将该字符串发送到另一个类来解析 JSON 内容 所有部件都可以单独工作 并且我已经单独测试了所有部件 我只是不知道如何将值发送到
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 干净构建 Java 命令行

    我正在使用命令行编译使用 eclipse 编写的项目 如下所示 javac file java 然后运行 java file args here 我将如何运行干净的构建或编译 每当我重新编译时 除非删除所有内容 否则更改不会受到影响 cla
  • 为什么我不能在 AngularJS 中使用 data-* 作为指令的属性名称?

    On the t他的笨蛋 http plnkr co edit l3KoY3 p preview您可以注意到属性名称模式的奇怪行为data 在指令中 电话 Test of data named attribute br
  • 创建一个 JSON 对象以在 Spring Boot 测试中发布

    我想编写基本测试来使用 JSON 负载在 users URL 上执行 POST 请求来创建用户 我找不到如何将新对象转换为 JSON 到目前为止有这么多 这显然是错误的 但解释了目的 Test public void createUser
  • 如何将双精度/浮点四舍五入为二进制精度?

    我正在编写对浮点数执行计算的代码的测试 不出所料 结果很少是准确的 我想在计算结果和预期结果之间设置一个容差 我已经证实 在实践中 使用双精度 在对最后两位有效小数进行四舍五入后 结果始终是正确的 但是usually四舍五入最后一位小数后
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS

随机推荐

  • 洗牌所需的 IEnumerable 的扩展方法[重复]

    这个问题在这里已经有答案了 我需要一个扩展方法来洗牌IEnumerable
  • 获取原始文件名谷歌应用引擎

    当在谷歌应用程序引擎上收到文件上传时 这个例子假设您收到的是 png 但是 您只能通过文件名的扩展名知道图像的类型 如何获取GAE上上传的原始文件名 正在上传的文件的文件名可以通过查看来确定filename保存文件的变量的属性 例如 假设您
  • Mechanize 不显示 FB 消息表单

    import mechanize cookielib br mechanize Browser cookie jar cookielib CookieJar br set cookiejar cookie jar br addheaders
  • Android同步cookies webview和httpclient

    我有一个登录 webview 和 httpclient 需要确认用户是否登录 问题是 webview 和 httpclient 正在使用其他 cookie 因此 httpclient 无法获取 webview cookie 我读了很多人的问
  • 更改 Html.TextBox 的大小

    我正在使用新的 Razor 视图引擎开发 ASP NET MVC3 应用程序 但在更改 TextBox 使其成为多行时遇到一些困难 到目前为止 我通过谷歌找到的只是我需要将多行属性设置为 true 但我不知道如何设置 查看代码如下所示 di
  • Java 绑定异常

    即使重用地址设置为 true 什么会导致 TCP 套接字抛出 java net BindException 地址已在使用中 仅当应用程序快速重新启动时才会发生这种情况 在 CentOS 5 Linux 操作系统上运行 这有点解释它 http
  • Tinymce 与 Angular 2/4 的双向绑定

    这是我的tinymce component ts import Component OnDestroy AfterViewInit EventEmitter Input Output from angular core Component
  • 如何为 Web 客户端打开自动重定向

    我有这个代码 class CustomWebclient WebClient System Security SecuritySafeCritical public CustomWebclient base public CookieCon
  • FastMember列顺序保存

    使用 TypeAccessor Create FastMember 时似乎总是返回按字母顺序排序的列列表 是否可以告诉它保留类中列的顺序 例如 var testClass new B 1 A 2 将从 GetMembers 返回 A 列 然
  • 如何使用 JWT 授权 SignalR Core Hub 方法

    我在 ASP NET Core 2 0 应用程序中使用 OpenIddict 进行 JWT 身份验证 我正在遵循的想法这个线程并打电话AuthorizeWithJWTSignalR 握手后的方法 但现在我不知道我应该设置什么Authoriz
  • 尝试修复 AVAudioPlayer 初次使用时的滞后问题

    这个问题已经出现在其他几个问题中 第一次播放声音时 AVAudioPlayer 启动缓慢 使用 AVAudioPlayer 播放声音时出现延迟 我已尝试实施建议的修复 但没有一个能解决我的问题 我的应用程序向用户呈现一系列可供触摸的对象 当
  • 如何使用 JavaScript 正则表达式进行跨换行匹配?

    我有这样的表达 document ready function validator addMethod regex function value element return this optional element www http c
  • 如何根据用户的请求暂停和恢复多个 Java 线程?

    我正在创建一个 20 分钟倒计时器应用程序 我正在使用 JavaFX SceneBuilder 来执行此操作 计时器由两个标签组成 一个代表分钟 一个代表秒 每个标签由一个CountdownTimer类对象 和进度条 计时器看起来像this
  • C++ 中的 char* 和 cin

    我想使用 cin 将不定长度的字符串输入到 char 变量中 我可以做这个 char tmp My string cout lt lt tmp lt lt endl system pause 它工作完美 但我没能做到这一点 char tmp
  • Socket.IO node.js websocket连接无效端口8081

    我在这个论坛上看到过一些关于 Socket IO 和 node js 的帖子 但仍然没有达到最佳工作状态 我的网络服务器将端口 80 和端口 8080 用于不同的应用程序 因此 在 App js 和我的套接字连接中 我添加了端口 8081
  • 我无法在框架布局内移动按钮

    我尝试使用图形界面和 XML 文件中的 android layout alignParentLeft 移动按钮 无论如何它不起作用 我的Android Studio版本是2 2 3 你有遇到过这个问题吗 你需要相对布局或其他与父容器类似的布
  • MySQL Workbench 获得管理访问权限吗?

    我从一个月开始就运行 MySQL 5 6 一切都很顺利 还有 MySQL Workbench 6 如果我想查看 服务器状态 我会收到两个错误 第一个错误 Could not acquire management access for adm
  • 如何获取从一个集合到另一个集合的数据引用?蒙古数据库

    router get productSelect req res next gt productSchema aggregate lookup from supplierSchema localField supplierId foreig
  • 带有前导零的数字的奇怪行为[重复]

    这个问题在这里已经有答案了 我有一些带有一些整数的 PHP 代码 并且一切正常 除非我有08 or 0X作为整数 当我把它们放在引号中时 一切都很好 示例数字 2 Works fine 08 Doesn t work 012 Doesn t
  • java中如何将json对象转换为HTML格式?

    java中如何将json对象转换为HTML 此代码将任何 Json 对象显示为 HTML 使用 org json lib Get the JSON data formated in HTML public String getHtmlDat