From 8e73f548e52ace9c4db5cd45b992baf86222f9bc Mon Sep 17 00:00:00 2001 From: Jon Hancock Date: Thu, 13 Nov 2014 22:16:39 -0800 Subject: [PATCH 1/2] Add support for some weird class names when $ symbols are left over from xml to json conversion --- JsonToJava-Lib/src/com/jsontojava/JsonToJava.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java b/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java index 1ae7935..f81d12c 100644 --- a/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java +++ b/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java @@ -153,7 +153,12 @@ private Member generateMember(String key, Object current) { Member.Builder memberBuilder = new Member.Builder(); String singular = mInflector.singularize(key); - String className = mInflector.camelCase(singular, true, '_', '.', '-',' '); + if(singular.contains("$")){ + + singular = singular.split("\\$")[1]; + + } + String className = mInflector.camelCase(singular, true, '_', '.', '-',' ','$'); memberBuilder.setJsonField(key).setName(className); if (current instanceof JSONArray) { From 18809788d8f05f3cedfe4fa707df7e15d5ff43b5 Mon Sep 17 00:00:00 2001 From: Jon Hancock Date: Thu, 13 Nov 2014 22:17:00 -0800 Subject: [PATCH 2/2] Fix a crash when a member is an empty object. --- .../src/com/jsontojava/JsonToJava.java | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java b/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java index f81d12c..c431a26 100644 --- a/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java +++ b/JsonToJava-Lib/src/com/jsontojava/JsonToJava.java @@ -233,16 +233,17 @@ private NewType generateClass(JSONObject obj, String typeName) { typeBuilder.setPackage(mPackage).setName(typeName); String[] keys = JSONObject.getNames(obj); - - for (String s : keys) { - Object current = obj.opt(s); - Member m = generateMember(s, current); - typeBuilder.addMember(m); - if (current instanceof JSONArray) { - typeBuilder.addImport(NewType.IMPORT_JAVA_UTIL_LIST); - + if(keys != null){ + for (String s : keys) { + Object current = obj.opt(s); + Member m = generateMember(s, current); + typeBuilder.addMember(m); + if (current instanceof JSONArray) { + typeBuilder.addImport(NewType.IMPORT_JAVA_UTIL_LIST); + + } + } - } return typeBuilder.build(); }