142 lines
9.1 KiB
Java
142 lines
9.1 KiB
Java
package com.eactive.eai.util;
|
|
|
|
import org.json.simple.JSONObject;
|
|
import org.json.simple.JSONValue;
|
|
|
|
public class JsonBeatiUtil {
|
|
public static String SimpleBeautiful(Object input) {
|
|
JSONObject json = null;
|
|
String data = "";
|
|
if (input instanceof JSONObject) {
|
|
json = (JSONObject) input;
|
|
} else if (input instanceof String) {
|
|
json = (JSONObject) JSONValue.parse((String) input);
|
|
} else if (input instanceof byte[]) {
|
|
String s = new String((byte[]) input);
|
|
json = (JSONObject) JSONValue.parse(s);
|
|
}
|
|
data = json.toJSONString();
|
|
int tabCount = 0;
|
|
StringBuilder inputBuilder = new StringBuilder();
|
|
char[] inputChar = data.toCharArray();
|
|
for (int i = 0; i < inputChar.length; i++) {
|
|
String charI = String.valueOf(inputChar[i]);
|
|
if (charI.equals("}") || charI.equals("]")) {
|
|
tabCount--;
|
|
if (!String.valueOf(inputChar[i - 1]).equals("[") && !String.valueOf(inputChar[i - 1]).equals("{")) {
|
|
inputBuilder.append(simpleNewLine(tabCount));
|
|
}
|
|
}
|
|
inputBuilder.append(charI);
|
|
if (charI.equals("{") || charI.equals("[")) {
|
|
tabCount++;
|
|
if (String.valueOf(inputChar[i + 1]).equals("]") || String.valueOf(inputChar[i + 1]).equals("}")) {
|
|
continue;
|
|
}
|
|
inputBuilder.append(simpleNewLine(tabCount));
|
|
}
|
|
if (charI.equals(",")) {
|
|
inputBuilder.append(simpleNewLine(tabCount));
|
|
}
|
|
}
|
|
return inputBuilder.toString();
|
|
}
|
|
|
|
private static String simpleNewLine(int tabCount) {
|
|
StringBuilder builder = new StringBuilder();
|
|
builder.append("\n");
|
|
for (int j = 0; j < tabCount; j++) {
|
|
builder.append(" ");
|
|
}
|
|
return builder.toString();
|
|
}
|
|
|
|
public static void main(String[] args) throws Exception {
|
|
String data = "";
|
|
data += "{ ";
|
|
data += " \"EAI_UJSON2DEPTHEXT_REQ1\":{ ";
|
|
data += " \"abc\":\"cba \", ";
|
|
data += " \"grid1\":[ ";
|
|
data += " { ";
|
|
data += " \"long1\":1, ";
|
|
data += " \"data2\":\" \", ";
|
|
data += " \"grid2\":[ ";
|
|
data += " { ";
|
|
data += " \"data3\":\"12345\", ";
|
|
data += " \"big4\":14.00000 ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"data3\":\"13 \", ";
|
|
data += " \"big4\":14.00001 ";
|
|
data += " } ";
|
|
data += " ] ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"long1\":10000, ";
|
|
data += " \"data2\":\" \", ";
|
|
data += " \"grid2\":[ ";
|
|
data += " { ";
|
|
data += " \"data3\":\"23 \", ";
|
|
data += " \"big4\":24.00000 ";
|
|
data += " } ";
|
|
data += " ] ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"long1\":1000000000, ";
|
|
data += " \"data2\":\" \", ";
|
|
data += " \"grid2\":[ ";
|
|
data += " { ";
|
|
data += " \"data3\":\"33 \", ";
|
|
data += " \"big4\":1 ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"data3\":\" \", ";
|
|
data += " \"big4\":1234567890.00034 ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"data3\":\"35 \", ";
|
|
data += " \"big4\":0.00036 ";
|
|
data += " } ";
|
|
data += " ] ";
|
|
data += " } ";
|
|
data += " ], ";
|
|
data += " \"abcd\":\"123\", ";
|
|
data += " \"grid3\":[ ";
|
|
data += " { ";
|
|
data += " \"long1\":1, ";
|
|
data += " \"data2\":\" \", ";
|
|
data += " \"grid4\":[ ";
|
|
data += " { ";
|
|
data += " \"data5\":\"00023\", ";
|
|
data += " \"big6\":24 ";
|
|
data += " } ";
|
|
data += " ] ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"long1\":1000000000, ";
|
|
data += " \"data2\":\" \", ";
|
|
data += " \"grid4\":[ ";
|
|
data += " { ";
|
|
data += " \"data5\":\"00033\", ";
|
|
data += " \"big6\":0.0 ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"data5\":\" \", ";
|
|
data += " \"big6\":123456789012345 ";
|
|
data += " }, ";
|
|
data += " { ";
|
|
data += " \"data5\":\"00035\", ";
|
|
data += " \"big6\":900000003600011 ";
|
|
data += " } ";
|
|
data += " ] ";
|
|
data += " } ";
|
|
data += " ] ";
|
|
data += " } ";
|
|
data += "} ";
|
|
data = "{\"EAI_UJSON2DEPTHEXT_REQ1\":{\"abc\":\"cba \",\"grid1\":[{\"long1\":1,\"data2\":\" \",\"grid2\":[{\"data3\":\"12345\",\"big4\":\"14.00000\"},{\"data3\":\"13 \",\"big4\":\"14.00001\"}]},{\"long1\":10000,\"data2\":\" \",\"grid2\":[{\"data3\":\"23 \",\"big4\":\"24.00000\"}]},{\"long1\":1000000000,\"data2\":\" \",\"grid2\":[{\"data3\":\"33 \",\"big4\":\"0.00000\"},{\"data3\":\" \",\"big4\":\"0.00034\"},{\"data3\":\"35 \",\"big4\":\"0.00036\"}]}],\"abcd\":\"123\",\"grid3\":[{\"long1\":1,\"data2\":\" \",\"grid4\":[{\"data5\":\"00023\",\"big6\":\"24\"}]},{\"long1\":1000000000,\"data2\":\" \",\"grid4\":[{\"data5\":\"00033\",\"big6\":\"0\"},{\"data5\":\" \",\"big6\":\"34\"},{\"data5\":\"00035\",\"big6\":\"900000003600011\"}]}]}}";
|
|
|
|
System.out.println(JsonBeatiUtil.SimpleBeautiful(data));
|
|
}
|
|
|
|
}
|