json-serialiser

start serialisation by wrapping in order to assure that first-level

6/9/2019 5:45:06 AM

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java b/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java
index d0d3a37..f29eff2 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/jsonserialiser/JSONSerialiser.java
@@ -42,7 +42,7 @@ public class JSONSerialiser {
 
     public static String serialise(Object bean) {
         JSONSerialiser jsonSerialiser = new JSONSerialiser();
-        StringBuilder stringBuilder = jsonSerialiser.serialiseBean(bean);
+        StringBuilder stringBuilder = jsonSerialiser.wrap(bean);
         Utils.fixJson(stringBuilder);
         return stringBuilder.toString();
     }
@@ -91,40 +91,6 @@ public class JSONSerialiser {
         }
     }
 
-    private StringBuilder serialiseBean(Object bean) {
-        StringBuilder stringBuilder = new StringBuilder();
-        if (bean == null) {
-            stringBuilder.append("null");
-            return stringBuilder;
-        }
-        Class<?> klass = bean.getClass();
-        List<Field> fields = new ArrayList<>();
-        fields = Utils.getAllFields(fields, klass);
-        stringBuilder.append("{");
-        for (Iterator<Field> it = fields.iterator(); it.hasNext();) {
-            Field field = it.next();
-            try {
-                field.setAccessible(true);
-                Object result = field.get(bean);
-                if (result == null) {
-                    continue;
-                }
-                stringBuilder.append("\"").append(field.getName()).append("\"");
-                stringBuilder.append(":");
-                StringBuilder wrap = wrap(result);
-                stringBuilder.append(wrap);
-            } catch (Exception ignore) {
-                System.err.println("[JSONSerialiser] field exception: " + ignore);
-                stringBuilder.append("\"").append("JSON-FIELD-EXCEPTION").append("\"");
-            }
-            if (it.hasNext()) {
-                stringBuilder.append(",");
-            }
-        }
-        stringBuilder.append("}");
-        return stringBuilder;
-    }
-
     private StringBuilder wrap(Object object) {
         try {
             if (object == null) {
@@ -214,6 +180,40 @@ public class JSONSerialiser {
         }
     }
 
+    private StringBuilder serialiseBean(Object bean) {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (bean == null) {
+            stringBuilder.append("null");
+            return stringBuilder;
+        }
+        Class<?> klass = bean.getClass();
+        List<Field> fields = new ArrayList<>();
+        fields = Utils.getAllFields(fields, klass);
+        stringBuilder.append("{");
+        for (Iterator<Field> it = fields.iterator(); it.hasNext();) {
+            Field field = it.next();
+            try {
+                field.setAccessible(true);
+                Object result = field.get(bean);
+                if (result == null) {
+                    continue;
+                }
+                stringBuilder.append("\"").append(field.getName()).append("\"");
+                stringBuilder.append(":");
+                StringBuilder wrap = wrap(result);
+                stringBuilder.append(wrap);
+            } catch (Exception ignore) {
+                System.err.println("[JSONSerialiser] field exception: " + ignore);
+                stringBuilder.append("\"").append("JSON-FIELD-EXCEPTION").append("\"");
+            }
+            if (it.hasNext()) {
+                stringBuilder.append(",");
+            }
+        }
+        stringBuilder.append("}");
+        return stringBuilder;
+    }
+
     private StringBuilder serialiseMap(Map map) {
         StringBuilder stringBuilder = new StringBuilder();
         stringBuilder.append("{");