summaryrefslogtreecommitdiff
path: root/ddl/templates/json.java.ede
diff options
context:
space:
mode:
Diffstat (limited to 'ddl/templates/json.java.ede')
-rw-r--r--ddl/templates/json.java.ede38
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
6import java.util.ArrayList; 6import java.util.ArrayList;
7import java.util.HashMap; 7import java.util.HashMap;
8import java.util.Iterator;
8import org.json.*; 9import org.json.*;
9import RT.*; 10import 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 %}