diff options
author | Csaba Hruska <csaba.hruska@gmail.com> | 2016-03-21 15:08:35 +0100 |
---|---|---|
committer | Csaba Hruska <csaba.hruska@gmail.com> | 2016-03-21 15:08:35 +0100 |
commit | 19ee05bdc20b43ee8d88eaee49c8ee6a8c38e3fb (patch) | |
tree | 6824e118ae5d368ce96a0d0e478e610f42fe7d26 /ddl/templates/json.java.ede | |
parent | be1e26b520e363ded31202fb0c39a6478dbe7cc6 (diff) |
finish java json loader
Diffstat (limited to 'ddl/templates/json.java.ede')
-rw-r--r-- | ddl/templates/json.java.ede | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/ddl/templates/json.java.ede b/ddl/templates/json.java.ede index cf09533..cfb639a 100644 --- a/ddl/templates/json.java.ede +++ b/ddl/templates/json.java.ede | |||
@@ -5,6 +5,7 @@ package {{ moduleName }}; | |||
5 | 5 | ||
6 | import java.util.ArrayList; | 6 | import java.util.ArrayList; |
7 | import java.util.HashMap; | 7 | import java.util.HashMap; |
8 | import java.util.Iterator; | ||
8 | import org.json.*; | 9 | import org.json.*; |
9 | import RT.*; | 10 | import RT.*; |
10 | 11 | ||
@@ -51,25 +52,39 @@ public class JSON { | |||
51 | ); | 52 | ); |
52 | } | 53 | } |
53 | {% when "Map" %} | 54 | {% when "Map" %} |
54 | /* | ||
55 | case {{ t.value | typeEnum }}: { | 55 | case {{ t.value | typeEnum }}: { |
56 | var map = new {{ t.value | javaType }} (); | 56 | JSONObject obj = (JSONObject)rawObj; |
57 | foreach(var i in (JSONObject)rawObj) { | 57 | {{ t.value | javaType }} map = new {{ t.value | javaType }} (); |
58 | map.Add( ({{ t.value.key_ | javaType }})fromJSON(Type.{{ t.value.key_ | typeEnum }},i.Key) | 58 | Iterator<String> keyIt = obj.keys(); |
59 | , ({{ t.value.value_ | javaType }})fromJSON(Type.{{ t.value.value_ | typeEnum }},i.Value)); | 59 | while(keyIt.hasNext()) { |
60 | String key = keyIt.next(); | ||
61 | map.put(key, ({{ t.value.value_ | javaType }})fromJSON(Type.{{ t.value.value_ | typeEnum }},obj.get(key))); | ||
60 | } | 62 | } |
61 | return map; | 63 | return map; |
62 | } | 64 | } |
63 | */ | ||
64 | {% when "Array" %} | 65 | {% when "Array" %} |
65 | // case {{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList(); | 66 | case {{ t.value | typeEnum }}: { |
67 | JSONArray obj = (JSONArray)rawObj; | ||
68 | {{ t.value | javaType }} v = new {{ t.value | javaType }} (); | ||
69 | for (int i = 0; i < obj.length(); i++) { | ||
70 | v.add(({{ t.value.type_ | javaType }})fromJSON (Type.{{ t.value.type_ | typeEnum }}, obj.get(i))); | ||
71 | } | ||
72 | return v; | ||
73 | } | ||
66 | {% when "List" %} | 74 | {% when "List" %} |
67 | // case {{ t.value | typeEnum }}: return ((JArray)obj).Select(x => fromJSON (Type.{{ t.value.type_ | typeEnum }}, x)).ToList(); | 75 | case {{ t.value | typeEnum }}: { |
76 | JSONArray obj = (JSONArray)rawObj; | ||
77 | {{ t.value | javaType }} v = new {{ t.value | javaType }} (); | ||
78 | for (int i = 0; i < obj.length(); i++) { | ||
79 | v.add(({{ t.value.type_ | javaType }})fromJSON (Type.{{ t.value.type_ | typeEnum }}, obj.get(i))); | ||
80 | } | ||
81 | return v; | ||
82 | } | ||
68 | {% when "Maybe" %} | 83 | {% when "Maybe" %} |
69 | /* | ||
70 | case {{ t.value | typeEnum }}: { | 84 | case {{ t.value | typeEnum }}: { |
71 | var m = new {{ t.value | javaType }} (); | 85 | JSONObject obj = (JSONObject)rawObj; |
72 | if (obj == null || obj.Type == JTokenType.Null) { | 86 | {{ t.value | javaType }} m = new {{ t.value | javaType }} (); |
87 | if (obj == null || obj == JSONObject.NULL) { | ||
73 | m.valid = false; | 88 | m.valid = false; |
74 | } else { | 89 | } else { |
75 | m.valid = true; | 90 | m.valid = true; |
@@ -77,7 +92,6 @@ public class JSON { | |||
77 | } | 92 | } |
78 | return m; | 93 | return m; |
79 | } | 94 | } |
80 | */ | ||
81 | {% else %} | 95 | {% else %} |
82 | case {{ t.value | typeEnum }}: return ({{ t.value | javaType }})rawObj; | 96 | case {{ t.value | typeEnum }}: return ({{ t.value | javaType }})rawObj; |
83 | {% endcase %} | 97 | {% endcase %} |