From dda2f5a4ec0777f49871053e6ea6b115d70fff2b Mon Sep 17 00:00:00 2001 From: Pluggr <99565292+Pluggr@users.noreply.github.com> Date: Tue, 14 Jun 2022 15:06:40 +0200 Subject: [PATCH] Fix for when JsonNode child is null This prevents running into NullPointerException when traversable(child) is called while child = null Here an example of the error it will prevent. ``` Caused by: java.lang.NullPointerException: null at jsontotree.Misc.traversable(Misc.java:96) at jsontotree.Misc.traverseObject(Misc.java:61) at jsontotree.Misc.traverse(Misc.java:44) at jsontotree.Misc.traverseArray(Misc.java:84) at jsontotree.Misc.traverse(Misc.java:42) at jsontotree.Misc.traverseRootObjects(Misc.java:28) at jsontotree.actions.ConvertJSONToRootTree.executeAction(ConvertJSONToRootTree.java:52) ``` --- src/javasource/jsontotree/Misc.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/javasource/jsontotree/Misc.java b/src/javasource/jsontotree/Misc.java index 2d34399..64c2a43 100644 --- a/src/javasource/jsontotree/Misc.java +++ b/src/javasource/jsontotree/Misc.java @@ -58,7 +58,13 @@ private static void traverse(IMendixObject rootObject, IContext ctx, JsonNode no */ private static void traverseObject(IMendixObject rootObject, IContext ctx, JsonNode node, String childKey, IMendixObject parentMXObject) { JsonNode child = node.get(childKey); - boolean hasChild = traversable(child); + boolean hasChild; + if (child == null){ + hasChild = false; + } else { + hasChild = traversable(child); + } + JSONObject copy = createJSONObject(node, childKey); String jsonContent = copy.toString(); @@ -164,4 +170,4 @@ private static IMendixObject createNodeObject(IContext ctx, IMendixObject rootOb return JSONRepresentationObject; } -} \ No newline at end of file +}