|
5 | 5 | import java.util.List;
|
6 | 6 | import java.util.Map;
|
7 | 7 |
|
8 |
| -import org.json.simple.JSONArray; |
9 |
| -import org.json.simple.JSONObject; |
| 8 | +import javax.json.Json; |
| 9 | +import javax.json.JsonArray; |
| 10 | +import javax.json.JsonArrayBuilder; |
| 11 | +import javax.json.JsonObject; |
| 12 | +import javax.json.JsonObjectBuilder; |
10 | 13 |
|
11 | 14 | import edu.stanford.nlp.graph.DirectedMultiGraph;
|
12 | 15 | import edu.stanford.nlp.ling.IndexedWord;
|
@@ -119,63 +122,63 @@ public SceneGraphNode getOrAddNode(IndexedWord value) {
|
119 | 122 |
|
120 | 123 | @SuppressWarnings("unchecked")
|
121 | 124 | public String toJSON(int imageID, String url, String phrase) {
|
122 |
| - JSONObject obj = new JSONObject(); |
123 |
| - obj.put("id", imageID); |
124 |
| - obj.put("url", url); |
125 |
| - obj.put("phrase", phrase); |
| 125 | + JsonObjectBuilder obj = Json.createObjectBuilder(); |
| 126 | + obj.add("id", imageID); |
| 127 | + obj.add("url", url); |
| 128 | + obj.add("phrase", phrase); |
126 | 129 |
|
127 | 130 | List<SceneGraphNode> objects = this.nodeListSorted();
|
128 | 131 |
|
129 |
| - JSONArray attrs = new JSONArray(); |
| 132 | + JsonArrayBuilder attrs = Json.createArrayBuilder(); |
130 | 133 | for (SceneGraphNode node : objects) {
|
131 | 134 | for (SceneGraphAttribute attr : node.getAttributes()) {
|
132 |
| - JSONObject attrObj = new JSONObject(); |
133 |
| - attrObj.put("attribute", attr.toString()); |
134 |
| - attrObj.put("object", attr.toString()); |
135 |
| - attrObj.put("predicate", "is"); |
136 |
| - attrObj.put("subject", objects.indexOf(node)); |
137 |
| - JSONArray text = new JSONArray(); |
| 135 | + JsonObjectBuilder attrObj = Json.createObjectBuilder(); |
| 136 | + attrObj.add("attribute", attr.toString()); |
| 137 | + attrObj.add("object", attr.toString()); |
| 138 | + attrObj.add("predicate", "is"); |
| 139 | + attrObj.add("subject", objects.indexOf(node)); |
| 140 | + JsonArrayBuilder text = Json.createArrayBuilder(); |
138 | 141 | text.add(node.toJSONString());
|
139 | 142 | text.add("is");
|
140 | 143 | text.add(attr.toString());
|
141 |
| - attrObj.put("text", text); |
142 |
| - attrs.add(attrObj); |
| 144 | + attrObj.add("text", text.build()); |
| 145 | + attrs.add(attrObj.build()); |
143 | 146 | }
|
144 | 147 | }
|
145 | 148 |
|
146 |
| - obj.put("attributes", attrs); |
| 149 | + obj.add("attributes", attrs.build()); |
147 | 150 |
|
148 |
| - JSONArray relns = new JSONArray(); |
| 151 | + JsonArrayBuilder relns = Json.createArrayBuilder(); |
149 | 152 |
|
150 | 153 | for (SceneGraphRelation reln : this.relationListSorted()) {
|
151 |
| - JSONObject relnObj = new JSONObject(); |
152 |
| - relnObj.put("predicate", reln.getRelation()); |
153 |
| - relnObj.put("subject", objects.indexOf(reln.getSource())); |
154 |
| - relnObj.put("object", objects.indexOf(reln.getTarget())); |
155 |
| - JSONArray text = new JSONArray(); |
| 154 | + JsonObjectBuilder relnObj = Json.createObjectBuilder(); |
| 155 | + relnObj.add("predicate", reln.getRelation()); |
| 156 | + relnObj.add("subject", objects.indexOf(reln.getSource())); |
| 157 | + relnObj.add("object", objects.indexOf(reln.getTarget())); |
| 158 | + JsonArrayBuilder text = Json.createArrayBuilder(); |
156 | 159 | text.add(reln.getSource().toJSONString());
|
157 | 160 | text.add(reln.getRelation());
|
158 | 161 | text.add(reln.getTarget().toJSONString());
|
159 |
| - relnObj.put("text", text); |
160 |
| - relns.add(relnObj); |
| 162 | + relnObj.add("text", text.build()); |
| 163 | + relns.add(relnObj.build()); |
161 | 164 | }
|
162 | 165 |
|
163 |
| - obj.put("relationships", relns); |
| 166 | + obj.add("relationships", relns.build()); |
164 | 167 |
|
165 | 168 |
|
166 |
| - JSONArray objs = new JSONArray(); |
| 169 | + JsonArrayBuilder objs = Json.createArrayBuilder(); |
167 | 170 | for (SceneGraphNode node : objects) {
|
168 |
| - JSONObject objObj = new JSONObject(); |
169 |
| - JSONArray names = new JSONArray(); |
| 171 | + JsonObjectBuilder objObj = Json.createObjectBuilder(); |
| 172 | + JsonArrayBuilder names = Json.createArrayBuilder(); |
170 | 173 | names.add(node.toJSONString());
|
171 |
| - objObj.put("names", names); |
172 |
| - objs.add(objObj); |
| 174 | + objObj.add("names", names.build()); |
| 175 | + objs.add(objObj.build()); |
173 | 176 | }
|
174 | 177 |
|
175 |
| - obj.put("objects", objs); |
| 178 | + obj.add("objects", objs.build()); |
176 | 179 |
|
177 | 180 |
|
178 |
| - return obj.toJSONString(); |
| 181 | + return obj.build().toString(); |
179 | 182 | }
|
180 | 183 |
|
181 | 184 |
|
|
0 commit comments