Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package JSONParser; import java.util.Iterator; import org.json.simple.JSONArray; import org.json.simple.JSONObject; /** * * @author harsha-1916 */ public class JSONToHTMLRenderer { String htmlStartTag = "<HTML>"; String bodyStartTag = "<BODY>"; String htmlCloseTag = "</HTML>"; String bodyCloseTag = "</BODY>"; private final int START_TAG = 1; private final int CLOSE_TAG = 2; private String renderRowHeaders(String[] rowHeader) { String rowHeaderStr = "<tr style=\"text-align: left; vertical-align: top; background-color: rgb(160, 238, 151);\">\n"; for (String columnStr : rowHeader) { rowHeaderStr += "<td valign=\"top\" ><b>" + columnStr + "</b></td>\n"; } rowHeaderStr += "</tr>\n"; return rowHeaderStr; } private String tbodyTagRender(int tagChooser) { if (tagChooser == START_TAG) { return "<tbody>"; } if (tagChooser == CLOSE_TAG) { return "</tbody>"; } return null; } private String getTableStartTag(int border, int cellPadding, int width, int cellSpacing) { String tablestartTag = "<table border=\"" + border + "px\" cellpadding=\"" + cellPadding + "px\" style=\"width:" + width + "%;\" cellspacing=\"" + cellSpacing + "px\">\n"; return tablestartTag; } private String renderContentRows(JSONArray content, String[] rowHeader) { String renderedRows = ""; if (content == null || content.size() == 0) { renderedRows = "<tr >\n" + "<td colspan=\"" + rowHeader.length + "\"><center style=\"color: rgb(255, 0, 0);\">" + "No pending tickets available" + "</center></td></tr> \n"; return renderedRows; } else { for (Iterator rowItr = content.iterator(); rowItr.hasNext();) { JSONObject WOERow = (JSONObject) rowItr.next(); String colorCode = (String) WOERow.get("colourCode"); if (colorCode == null) { colorCode = "rgb(0,0,0)"; } renderedRows += "<tr style=\"color: " + colorCode + ";font-weight:bold\">\n"; for (String columnStr : rowHeader) { renderedRows += "<td valign=\"top\" ><b>" + WOERow.get(columnStr) + "</b></td>\n"; } renderedRows += "</tr>"; } return renderedRows; } } public String JSONToTableConverter(String header, String[] rowHeader, JSONArray content, JSONObject tableProps) { Integer border = (Integer) tableProps.get("border"); Integer cellPadding = (Integer) tableProps.get("CellPadding"); Integer width = (Integer) tableProps.get("width"); Integer cellSpacing = (Integer) tableProps.get("CellSpacing"); //String tableStartTag = getTableStartTag(0, 7, 100, 0); String tableStartTag = getTableStartTag(border, cellPadding, width, cellSpacing); String tbodyStartTag = tbodyTagRender(START_TAG); String rowHeaderTag = renderRowHeaders(rowHeader); String contentRows = renderContentRows(content, rowHeader); String tbodyCloseTag = tbodyTagRender(CLOSE_TAG); String tableCloseTag = "</table>"; return tableStartTag + tbodyStartTag + header + rowHeaderTag + contentRows + tbodyCloseTag + tableCloseTag; } }