繁体   English   中英

如何在 JSP 中漂亮地打印 GSON

[英]How to GSON pretty print in JSP

The below code to show JSON string in TreeView by Gson's prettyprinting() is added in JSP, but the treeview is only displayed in Tomcat console by the SOPs. 但是,在 JSP 中,json 显示为普通字符串,如随附的屏幕截图所示:-

<% 
    for(String strCol : ResultSetColumnNames)
    {
        System.out.println("strCol = "+strCol);
    %>
    <tr>
    <td align="center"><%=strCol%></td>  
    <%      
    String value = jo.get(strCol).getAsString();  //jo.get(strCol).toString();       
    if(strCol.contains("JSON"))
     { 
        JsonElement jsonElement = new JsonParser().parse(value);
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        String prettyJson = gson.toJson(jsonElement);
        System.out.println("PRETTY-"+strCol+" = "+prettyJson);
    %>    
      <td align="center"><div contenteditable="true"><%=prettyJson%></div></td>
    <%
     }
     else
     {
    %>
      <td align="center"><div contenteditable="false"><%=value%></div></td>     
    <%      
     }
    %>
     </tr>
    <%
   }
   %>

请建议,如何在 JSP 中的 treeview 中显示 JSON。

感谢和问候 Saswata Mandal在此处输入图片描述

Json 通过在 prettyJson 字符串周围添加pre标记以 TreeView 格式显示,如下面的代码所示:-

<tr>
    <td align="center"><%=strCol%></td>  
    <%      
    String value = jo.get(strCol).getAsString();  //jo.get(strCol).toString();       
    if(strCol.contains("JSON"))
     { 
        JsonElement jsonElement = new JsonParser().parse(value);
        Gson gson = new GsonBuilder().setPrettyPrinting().create();
        String prettyJson = gson.toJson(jsonElement);
        System.out.println("PRETTY-"+strCol+" = "+prettyJson);
    %>
      <%-- After adding <pre> tag , JSON is displayed in TreeView format. Without it normal JSON string is shown --%>     
      <td><div contenteditable="true"><pre><%=prettyJson%></pre></div></td>
    <%
     }
     else
     {
    %>
      <td align="center"><div contenteditable="false"><%=value%></div></td>     
    <%      
     }
    %>
     </tr>
    <%
   }
   %>
  </table>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM