annotate lib/org.json_2.0/src/org/json/Test.java @ 0:db87c1b7eb6d

initial
author dwinter
date Wed, 03 Nov 2010 12:18:46 +0100
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
db87c1b7eb6d initial
dwinter
parents:
diff changeset
1 package org.json;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
2
db87c1b7eb6d initial
dwinter
parents:
diff changeset
3 import java.util.Collection;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
4 import java.util.Iterator;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
5 import java.util.Map;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
6 import java.io.StringWriter;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
7
db87c1b7eb6d initial
dwinter
parents:
diff changeset
8 /**
db87c1b7eb6d initial
dwinter
parents:
diff changeset
9 * Test class. This file is not formally a member of the org.json library.
db87c1b7eb6d initial
dwinter
parents:
diff changeset
10 * It is just a casual test tool.
db87c1b7eb6d initial
dwinter
parents:
diff changeset
11 */
db87c1b7eb6d initial
dwinter
parents:
diff changeset
12 public class Test {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
13
db87c1b7eb6d initial
dwinter
parents:
diff changeset
14 /**
db87c1b7eb6d initial
dwinter
parents:
diff changeset
15 * Entry point.
db87c1b7eb6d initial
dwinter
parents:
diff changeset
16 * @param args
db87c1b7eb6d initial
dwinter
parents:
diff changeset
17 */
db87c1b7eb6d initial
dwinter
parents:
diff changeset
18 public static void main(String args[]) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
19 Iterator it;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
20 JSONArray a;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
21 JSONObject j;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
22 JSONStringer jj;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
23 String s;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
24
db87c1b7eb6d initial
dwinter
parents:
diff changeset
25 /**
db87c1b7eb6d initial
dwinter
parents:
diff changeset
26 * Obj is a typical class that implements JSONString. It also
db87c1b7eb6d initial
dwinter
parents:
diff changeset
27 * provides some beanie methods that can be used to
db87c1b7eb6d initial
dwinter
parents:
diff changeset
28 * construct a JSONObject. It also demonstrates constructing
db87c1b7eb6d initial
dwinter
parents:
diff changeset
29 * a JSONObject with an array of names.
db87c1b7eb6d initial
dwinter
parents:
diff changeset
30 */
db87c1b7eb6d initial
dwinter
parents:
diff changeset
31 class Obj implements JSONString {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
32 public String aString;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
33 public double aNumber;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
34 public boolean aBoolean;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
35
db87c1b7eb6d initial
dwinter
parents:
diff changeset
36 public Obj(String string, double n, boolean b) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
37 this.aString = string;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
38 this.aNumber = n;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
39 this.aBoolean = b;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
40 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
41
db87c1b7eb6d initial
dwinter
parents:
diff changeset
42 public double getNumber() {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
43 return this.aNumber;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
44 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
45
db87c1b7eb6d initial
dwinter
parents:
diff changeset
46 public String getString() {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
47 return this.aString;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
48 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
49
db87c1b7eb6d initial
dwinter
parents:
diff changeset
50 public boolean isBoolean() {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
51 return this.aBoolean;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
52 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
53
db87c1b7eb6d initial
dwinter
parents:
diff changeset
54 public String getBENT() {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
55 return "All uppercase key";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
56 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
57
db87c1b7eb6d initial
dwinter
parents:
diff changeset
58 public String getX() {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
59 return "x";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
60 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
61
db87c1b7eb6d initial
dwinter
parents:
diff changeset
62 public String toJSONString() {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
63 return "{" + JSONObject.quote(this.aString) + ":" +
db87c1b7eb6d initial
dwinter
parents:
diff changeset
64 JSONObject.doubleToString(this.aNumber) + "}";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
65 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
66 public String toString() {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
67 return this.getString() + " " + this.getNumber() + " " +
db87c1b7eb6d initial
dwinter
parents:
diff changeset
68 this.isBoolean() + "." + this.getBENT() + " " + this.getX();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
69 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
70 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
71
db87c1b7eb6d initial
dwinter
parents:
diff changeset
72
db87c1b7eb6d initial
dwinter
parents:
diff changeset
73 Obj obj = new Obj("A beany object", 42, true);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
74
db87c1b7eb6d initial
dwinter
parents:
diff changeset
75 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
76 j = XML.toJSONObject("<![CDATA[This is a collection of test patterns and examples for org.json.]]> Ignore the stuff past the end. ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
77 System.out.println(j.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
78
db87c1b7eb6d initial
dwinter
parents:
diff changeset
79 s = "{ \"list of lists\" : [ [1, 2, 3], [4, 5, 6], ] }";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
80 j = new JSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
81 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
82 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
83
db87c1b7eb6d initial
dwinter
parents:
diff changeset
84 s = "<recipe name=\"bread\" prep_time=\"5 mins\" cook_time=\"3 hours\"> <title>Basic bread</title> <ingredient amount=\"8\" unit=\"dL\">Flour</ingredient> <ingredient amount=\"10\" unit=\"grams\">Yeast</ingredient> <ingredient amount=\"4\" unit=\"dL\" state=\"warm\">Water</ingredient> <ingredient amount=\"1\" unit=\"teaspoon\">Salt</ingredient> <instructions> <step>Mix all ingredients together.</step> <step>Knead thoroughly.</step> <step>Cover with a cloth, and leave for one hour in warm room.</step> <step>Knead again.</step> <step>Place in a bread baking tin.</step> <step>Cover with a cloth, and leave for one hour in warm room.</step> <step>Bake in the oven at 180(degrees)C for 30 minutes.</step> </instructions> </recipe> ";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
85 j = XML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
86 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
87 System.out.println();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
88
db87c1b7eb6d initial
dwinter
parents:
diff changeset
89 j = JSONML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
90 System.out.println(j.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
91 System.out.println(JSONML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
92 System.out.println();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
93
db87c1b7eb6d initial
dwinter
parents:
diff changeset
94 a = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
95 System.out.println(a.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
96 System.out.println(JSONML.toString(a));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
97 System.out.println();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
98
db87c1b7eb6d initial
dwinter
parents:
diff changeset
99 s = "<div id=\"demo\" class=\"JSONML\"><p>JSONML is a transformation between <b>JSON</b> and <b>XML</b> that preserves ordering of document features.</p><p>JSONML can work with JSON arrays or JSON objects.</p><p>Three<br/>little<br/>words</p></div>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
100 j = JSONML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
101 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
102 System.out.println(JSONML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
103 System.out.println();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
104
db87c1b7eb6d initial
dwinter
parents:
diff changeset
105 a = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
106 System.out.println(a.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
107 System.out.println(JSONML.toString(a));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
108 System.out.println();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
109
db87c1b7eb6d initial
dwinter
parents:
diff changeset
110 s = "<person created=\"2006-11-11T19:23\" modified=\"2006-12-31T23:59\">\n <firstName>Robert</firstName>\n <lastName>Smith</lastName>\n <address type=\"home\">\n <street>12345 Sixth Ave</street>\n <city>Anytown</city>\n <state>CA</state>\n <postalCode>98765-4321</postalCode>\n </address>\n </person>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
111 j = XML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
112 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
113
db87c1b7eb6d initial
dwinter
parents:
diff changeset
114 j = new JSONObject(obj);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
115 System.out.println(j.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
116
db87c1b7eb6d initial
dwinter
parents:
diff changeset
117 s = "{ \"entity\": { \"imageURL\": \"\", \"name\": \"IXXXXXXXXXXXXX\", \"id\": 12336, \"ratingCount\": null, \"averageRating\": null } }";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
118 j = new JSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
119 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
120
db87c1b7eb6d initial
dwinter
parents:
diff changeset
121 jj = new JSONStringer();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
122 s = jj
db87c1b7eb6d initial
dwinter
parents:
diff changeset
123 .object()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
124 .key("single")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
125 .value("MARIE HAA'S")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
126 .key("Johnny")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
127 .value("MARIE HAA\\'S")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
128 .key("foo")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
129 .value("bar")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
130 .key("baz")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
131 .array()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
132 .object()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
133 .key("quux")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
134 .value("Thanks, Josh!")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
135 .endObject()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
136 .endArray()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
137 .key("obj keys")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
138 .value(JSONObject.getNames(obj))
db87c1b7eb6d initial
dwinter
parents:
diff changeset
139 .endObject()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
140 .toString();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
141 System.out.println(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
142
db87c1b7eb6d initial
dwinter
parents:
diff changeset
143 System.out.println(new JSONStringer()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
144 .object()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
145 .key("a")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
146 .array()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
147 .array()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
148 .array()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
149 .value("b")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
150 .endArray()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
151 .endArray()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
152 .endArray()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
153 .endObject()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
154 .toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
155
db87c1b7eb6d initial
dwinter
parents:
diff changeset
156 jj = new JSONStringer();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
157 jj.array();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
158 jj.value(1);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
159 jj.array();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
160 jj.value(null);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
161 jj.array();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
162 jj.object();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
163 jj.key("empty-array").array().endArray();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
164 jj.key("answer").value(42);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
165 jj.key("null").value(null);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
166 jj.key("false").value(false);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
167 jj.key("true").value(true);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
168 jj.key("big").value(123456789e+88);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
169 jj.key("small").value(123456789e-88);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
170 jj.key("empty-object").object().endObject();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
171 jj.key("long");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
172 jj.value(9223372036854775807L);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
173 jj.endObject();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
174 jj.value("two");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
175 jj.endArray();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
176 jj.value(true);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
177 jj.endArray();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
178 jj.value(98.6);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
179 jj.value(-100.0);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
180 jj.object();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
181 jj.endObject();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
182 jj.object();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
183 jj.key("one");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
184 jj.value(1.00);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
185 jj.endObject();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
186 jj.value(obj);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
187 jj.endArray();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
188 System.out.println(jj.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
189
db87c1b7eb6d initial
dwinter
parents:
diff changeset
190 System.out.println(new JSONArray(jj.toString()).toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
191
db87c1b7eb6d initial
dwinter
parents:
diff changeset
192 int ar[] = {1, 2, 3};
db87c1b7eb6d initial
dwinter
parents:
diff changeset
193 JSONArray ja = new JSONArray(ar);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
194 System.out.println(ja.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
195
db87c1b7eb6d initial
dwinter
parents:
diff changeset
196 String sa[] = {"aString", "aNumber", "aBoolean"};
db87c1b7eb6d initial
dwinter
parents:
diff changeset
197 j = new JSONObject(obj, sa);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
198 j.put("Testing JSONString interface", obj);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
199 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
200
db87c1b7eb6d initial
dwinter
parents:
diff changeset
201 j = new JSONObject("{slashes: '///', closetag: '</script>', backslash:'\\\\', ei: {quotes: '\"\\''},eo: {a: '\"quoted\"', b:\"don't\"}, quotes: [\"'\", '\"']}");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
202 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
203 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
204 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
205
db87c1b7eb6d initial
dwinter
parents:
diff changeset
206 j = new JSONObject(
db87c1b7eb6d initial
dwinter
parents:
diff changeset
207 "{foo: [true, false,9876543210, 0.0, 1.00000001, 1.000000000001, 1.00000000000000001," +
db87c1b7eb6d initial
dwinter
parents:
diff changeset
208 " .00000000000000001, 2.00, 0.1, 2e100, -32,[],{}, \"string\"], " +
db87c1b7eb6d initial
dwinter
parents:
diff changeset
209 " to : null, op : 'Good'," +
db87c1b7eb6d initial
dwinter
parents:
diff changeset
210 "ten:10} postfix comment");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
211 j.put("String", "98.6");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
212 j.put("JSONObject", new JSONObject());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
213 j.put("JSONArray", new JSONArray());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
214 j.put("int", 57);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
215 j.put("double", 123456789012345678901234567890.);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
216 j.put("true", true);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
217 j.put("false", false);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
218 j.put("null", JSONObject.NULL);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
219 j.put("bool", "true");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
220 j.put("zero", -0.0);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
221 j.put("\\u2028", "\u2028");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
222 j.put("\\u2029", "\u2029");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
223 a = j.getJSONArray("foo");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
224 a.put(666);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
225 a.put(2001.99);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
226 a.put("so \"fine\".");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
227 a.put("so <fine>.");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
228 a.put(true);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
229 a.put(false);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
230 a.put(new JSONArray());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
231 a.put(new JSONObject());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
232 j.put("keys", JSONObject.getNames(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
233 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
234 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
235
db87c1b7eb6d initial
dwinter
parents:
diff changeset
236 System.out.println("String: " + j.getDouble("String"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
237 System.out.println(" bool: " + j.getBoolean("bool"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
238 System.out.println(" to: " + j.getString("to"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
239 System.out.println(" true: " + j.getString("true"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
240 System.out.println(" foo: " + j.getJSONArray("foo"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
241 System.out.println(" op: " + j.getString("op"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
242 System.out.println(" ten: " + j.getInt("ten"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
243 System.out.println(" oops: " + j.optBoolean("oops"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
244
db87c1b7eb6d initial
dwinter
parents:
diff changeset
245 s = "<xml one = 1 two=' \"2\" '><five></five>First \u0009&lt;content&gt;<five></five> This is \"content\". <three> 3 </three>JSON does not preserve the sequencing of elements and contents.<three> III </three> <three> T H R E E</three><four/>Content text is an implied structure in XML. <six content=\"6\"/>JSON does not have implied structure:<seven>7</seven>everything is explicit.<![CDATA[CDATA blocks<are><supported>!]]></xml>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
246 j = XML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
247 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
248 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
249 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
250
db87c1b7eb6d initial
dwinter
parents:
diff changeset
251 ja = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
252 System.out.println(ja.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
253 System.out.println(JSONML.toString(ja));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
254 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
255
db87c1b7eb6d initial
dwinter
parents:
diff changeset
256 s = "<xml do='0'>uno<a re='1' mi='2'>dos<b fa='3'/>tres<c>true</c>quatro</a>cinqo<d>seis<e/></d></xml>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
257 ja = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
258 System.out.println(ja.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
259 System.out.println(JSONML.toString(ja));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
260 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
261
db87c1b7eb6d initial
dwinter
parents:
diff changeset
262 s = "<mapping><empty/> <class name = \"Customer\"> <field name = \"ID\" type = \"string\"> <bind-xml name=\"ID\" node=\"attribute\"/> </field> <field name = \"FirstName\" type = \"FirstName\"/> <field name = \"MI\" type = \"MI\"/> <field name = \"LastName\" type = \"LastName\"/> </class> <class name = \"FirstName\"> <field name = \"text\"> <bind-xml name = \"text\" node = \"text\"/> </field> </class> <class name = \"MI\"> <field name = \"text\"> <bind-xml name = \"text\" node = \"text\"/> </field> </class> <class name = \"LastName\"> <field name = \"text\"> <bind-xml name = \"text\" node = \"text\"/> </field> </class></mapping>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
263 j = XML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
264
db87c1b7eb6d initial
dwinter
parents:
diff changeset
265 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
266 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
267 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
268 ja = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
269 System.out.println(ja.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
270 System.out.println(JSONML.toString(ja));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
271 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
272
db87c1b7eb6d initial
dwinter
parents:
diff changeset
273 j = XML.toJSONObject("<?xml version=\"1.0\" ?><Book Author=\"Anonymous\"><Title>Sample Book</Title><Chapter id=\"1\">This is chapter 1. It is not very long or interesting.</Chapter><Chapter id=\"2\">This is chapter 2. Although it is longer than chapter 1, it is not any more interesting.</Chapter></Book>");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
274 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
275 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
276 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
277
db87c1b7eb6d initial
dwinter
parents:
diff changeset
278 j = XML.toJSONObject("<!DOCTYPE bCard 'http://www.cs.caltech.edu/~adam/schemas/bCard'><bCard><?xml default bCard firstname = '' lastname = '' company = '' email = '' homepage = ''?><bCard firstname = 'Rohit' lastname = 'Khare' company = 'MCI' email = 'khare@mci.net' homepage = 'http://pest.w3.org/'/><bCard firstname = 'Adam' lastname = 'Rifkin' company = 'Caltech Infospheres Project' email = 'adam@cs.caltech.edu' homepage = 'http://www.cs.caltech.edu/~adam/'/></bCard>");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
279 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
280 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
281 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
282
db87c1b7eb6d initial
dwinter
parents:
diff changeset
283 j = XML.toJSONObject("<?xml version=\"1.0\"?><customer> <firstName> <text>Fred</text> </firstName> <ID>fbs0001</ID> <lastName> <text>Scerbo</text> </lastName> <MI> <text>B</text> </MI></customer>");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
284 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
285 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
286 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
287
db87c1b7eb6d initial
dwinter
parents:
diff changeset
288 j = XML.toJSONObject("<!ENTITY tp-address PUBLIC '-//ABC University::Special Collections Library//TEXT (titlepage: name and address)//EN' 'tpspcoll.sgm'><list type='simple'><head>Repository Address </head><item>Special Collections Library</item><item>ABC University</item><item>Main Library, 40 Circle Drive</item><item>Ourtown, Pennsylvania</item><item>17654 USA</item></list>");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
289 System.out.println(j.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
290 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
291 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
292
db87c1b7eb6d initial
dwinter
parents:
diff changeset
293 j = XML.toJSONObject("<test intertag status=ok><empty/>deluxe<blip sweet=true>&amp;&quot;toot&quot;&toot;&#x41;</blip><x>eks</x><w>bonus</w><w>bonus2</w></test>");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
294 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
295 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
296 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
297
db87c1b7eb6d initial
dwinter
parents:
diff changeset
298 j = HTTP.toJSONObject("GET / HTTP/1.0\nAccept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*\nAccept-Language: en-us\nUser-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98; Win 9x 4.90; T312461; Q312461)\nHost: www.nokko.com\nConnection: keep-alive\nAccept-encoding: gzip, deflate\n");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
299 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
300 System.out.println(HTTP.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
301 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
302
db87c1b7eb6d initial
dwinter
parents:
diff changeset
303 j = HTTP.toJSONObject("HTTP/1.1 200 Oki Doki\nDate: Sun, 26 May 2002 17:38:52 GMT\nServer: Apache/1.3.23 (Unix) mod_perl/1.26\nKeep-Alive: timeout=15, max=100\nConnection: Keep-Alive\nTransfer-Encoding: chunked\nContent-Type: text/html\n");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
304 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
305 System.out.println(HTTP.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
306 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
307
db87c1b7eb6d initial
dwinter
parents:
diff changeset
308 j = new JSONObject("{nix: null, nux: false, null: 'null', 'Request-URI': '/', Method: 'GET', 'HTTP-Version': 'HTTP/1.0'}");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
309 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
310 System.out.println("isNull: " + j.isNull("nix"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
311 System.out.println(" has: " + j.has("nix"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
312 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
313 System.out.println(HTTP.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
314 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
315
db87c1b7eb6d initial
dwinter
parents:
diff changeset
316 j = XML.toJSONObject("<?xml version='1.0' encoding='UTF-8'?>"+"\n\n"+"<SOAP-ENV:Envelope"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
317 " xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\""+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
318 " xmlns:xsi=\"http://www.w3.org/1999/XMLSchema-instance\""+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
319 " xmlns:xsd=\"http://www.w3.org/1999/XMLSchema\">"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
320 "<SOAP-ENV:Body><ns1:doGoogleSearch"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
321 " xmlns:ns1=\"urn:GoogleSearch\""+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
322 " SOAP-ENV:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\">"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
323 "<key xsi:type=\"xsd:string\">GOOGLEKEY</key> <q"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
324 " xsi:type=\"xsd:string\">'+search+'</q> <start"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
325 " xsi:type=\"xsd:int\">0</start> <maxResults"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
326 " xsi:type=\"xsd:int\">10</maxResults> <filter"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
327 " xsi:type=\"xsd:boolean\">true</filter> <restrict"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
328 " xsi:type=\"xsd:string\"></restrict> <safeSearch"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
329 " xsi:type=\"xsd:boolean\">false</safeSearch> <lr"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
330 " xsi:type=\"xsd:string\"></lr> <ie"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
331 " xsi:type=\"xsd:string\">latin1</ie> <oe"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
332 " xsi:type=\"xsd:string\">latin1</oe>"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
333 "</ns1:doGoogleSearch>"+
db87c1b7eb6d initial
dwinter
parents:
diff changeset
334 "</SOAP-ENV:Body></SOAP-ENV:Envelope>");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
335 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
336 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
337 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
338
db87c1b7eb6d initial
dwinter
parents:
diff changeset
339 j = new JSONObject("{Envelope: {Body: {\"ns1:doGoogleSearch\": {oe: \"latin1\", filter: true, q: \"'+search+'\", key: \"GOOGLEKEY\", maxResults: 10, \"SOAP-ENV:encodingStyle\": \"http://schemas.xmlsoap.org/soap/encoding/\", start: 0, ie: \"latin1\", safeSearch:false, \"xmlns:ns1\": \"urn:GoogleSearch\"}}}}");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
340 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
341 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
342 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
343
db87c1b7eb6d initial
dwinter
parents:
diff changeset
344 j = CookieList.toJSONObject(" f%oo = b+l=ah ; o;n%40e = t.wo ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
345 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
346 System.out.println(CookieList.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
347 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
348
db87c1b7eb6d initial
dwinter
parents:
diff changeset
349 j = Cookie.toJSONObject("f%oo=blah; secure ;expires = April 24, 2002");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
350 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
351 System.out.println(Cookie.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
352 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
353
db87c1b7eb6d initial
dwinter
parents:
diff changeset
354 j = new JSONObject("{script: 'It is not allowed in HTML to send a close script tag in a string<script>because it confuses browsers</script>so we insert a backslash before the /'}");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
355 System.out.println(j.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
356 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
357
db87c1b7eb6d initial
dwinter
parents:
diff changeset
358 JSONTokener jt = new JSONTokener("{op:'test', to:'session', pre:1}{op:'test', to:'session', pre:2}");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
359 j = new JSONObject(jt);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
360 System.out.println(j.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
361 System.out.println("pre: " + j.optInt("pre"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
362 int i = jt.skipTo('{');
db87c1b7eb6d initial
dwinter
parents:
diff changeset
363 System.out.println(i);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
364 j = new JSONObject(jt);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
365 System.out.println(j.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
366 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
367
db87c1b7eb6d initial
dwinter
parents:
diff changeset
368 a = CDL.toJSONArray("Comma delimited list test, '\"Strip\"Quotes', 'quote, comma', No quotes, 'Single Quotes', \"Double Quotes\"\n1,'2',\"3\"\n,'It is \"good,\"', \"It works.\"\n\n");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
369
db87c1b7eb6d initial
dwinter
parents:
diff changeset
370 s = CDL.toString(a);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
371 System.out.println(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
372 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
373 System.out.println(a.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
374 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
375 a = CDL.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
376 System.out.println(a.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
377 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
378
db87c1b7eb6d initial
dwinter
parents:
diff changeset
379 a = new JSONArray(" [\"<escape>\", next is an implied null , , ok,] ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
380 System.out.println(a.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
381 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
382 System.out.println(XML.toString(a));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
383 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
384
db87c1b7eb6d initial
dwinter
parents:
diff changeset
385 j = new JSONObject("{ fun => with non-standard forms ; forgiving => This package can be used to parse formats that are similar to but not stricting conforming to JSON; why=To make it easier to migrate existing data to JSON,one = [[1.00]]; uno=[[{1=>1}]];'+':+6e66 ;pluses=+++;empty = '' , 'double':0.666,true: TRUE, false: FALSE, null=NULL;[true] = [[!,@;*]]; string=> o. k. ; \r oct=0666; hex=0x666; dec=666; o=0999; noh=0x0x}");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
386 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
387 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
388 if (j.getBoolean("true") && !j.getBoolean("false")) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
389 System.out.println("It's all good");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
390 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
391
db87c1b7eb6d initial
dwinter
parents:
diff changeset
392 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
393 j = new JSONObject(j, new String[]{"dec", "oct", "hex", "missing"});
db87c1b7eb6d initial
dwinter
parents:
diff changeset
394 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
395
db87c1b7eb6d initial
dwinter
parents:
diff changeset
396 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
397 System.out.println(new JSONStringer().array().value(a).value(j).endArray());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
398
db87c1b7eb6d initial
dwinter
parents:
diff changeset
399 j = new JSONObject("{string: \"98.6\", long: 2147483648, int: 2147483647, longer: 9223372036854775807, double: 9223372036854775808}");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
400 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
401
db87c1b7eb6d initial
dwinter
parents:
diff changeset
402 System.out.println("\ngetInt");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
403 System.out.println("int " + j.getInt("int"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
404 System.out.println("long " + j.getInt("long"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
405 System.out.println("longer " + j.getInt("longer"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
406 System.out.println("double " + j.getInt("double"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
407 System.out.println("string " + j.getInt("string"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
408
db87c1b7eb6d initial
dwinter
parents:
diff changeset
409 System.out.println("\ngetLong");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
410 System.out.println("int " + j.getLong("int"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
411 System.out.println("long " + j.getLong("long"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
412 System.out.println("longer " + j.getLong("longer"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
413 System.out.println("double " + j.getLong("double"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
414 System.out.println("string " + j.getLong("string"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
415
db87c1b7eb6d initial
dwinter
parents:
diff changeset
416 System.out.println("\ngetDouble");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
417 System.out.println("int " + j.getDouble("int"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
418 System.out.println("long " + j.getDouble("long"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
419 System.out.println("longer " + j.getDouble("longer"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
420 System.out.println("double " + j.getDouble("double"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
421 System.out.println("string " + j.getDouble("string"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
422
db87c1b7eb6d initial
dwinter
parents:
diff changeset
423 j.put("good sized", 9223372036854775807L);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
424 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
425
db87c1b7eb6d initial
dwinter
parents:
diff changeset
426 a = new JSONArray("[2147483647, 2147483648, 9223372036854775807, 9223372036854775808]");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
427 System.out.println(a.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
428
db87c1b7eb6d initial
dwinter
parents:
diff changeset
429 System.out.println("\nKeys: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
430 it = j.keys();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
431 while (it.hasNext()) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
432 s = (String)it.next();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
433 System.out.println(s + ": " + j.getString(s));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
434 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
435
db87c1b7eb6d initial
dwinter
parents:
diff changeset
436
db87c1b7eb6d initial
dwinter
parents:
diff changeset
437 System.out.println("\naccumulate: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
438 j = new JSONObject();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
439 j.accumulate("stooge", "Curly");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
440 j.accumulate("stooge", "Larry");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
441 j.accumulate("stooge", "Moe");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
442 a = j.getJSONArray("stooge");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
443 a.put(5, "Shemp");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
444 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
445
db87c1b7eb6d initial
dwinter
parents:
diff changeset
446 System.out.println("\nwrite:");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
447 System.out.println(j.write(new StringWriter()));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
448
db87c1b7eb6d initial
dwinter
parents:
diff changeset
449 s = "<xml empty><a></a><a>1</a><a>22</a><a>333</a></xml>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
450 j = XML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
451 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
452 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
453
db87c1b7eb6d initial
dwinter
parents:
diff changeset
454 s = "<book><chapter>Content of the first chapter</chapter><chapter>Content of the second chapter <chapter>Content of the first subchapter</chapter> <chapter>Content of the second subchapter</chapter></chapter><chapter>Third Chapter</chapter></book>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
455 j = XML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
456 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
457 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
458
db87c1b7eb6d initial
dwinter
parents:
diff changeset
459 a = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
460 System.out.println(a.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
461 System.out.println(JSONML.toString(a));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
462
db87c1b7eb6d initial
dwinter
parents:
diff changeset
463 Collection c = null;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
464 Map m = null;
db87c1b7eb6d initial
dwinter
parents:
diff changeset
465
db87c1b7eb6d initial
dwinter
parents:
diff changeset
466 j = new JSONObject(m);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
467 a = new JSONArray(c);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
468 j.append("stooge", "Joe DeRita");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
469 j.append("stooge", "Shemp");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
470 j.accumulate("stooges", "Curly");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
471 j.accumulate("stooges", "Larry");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
472 j.accumulate("stooges", "Moe");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
473 j.accumulate("stoogearray", j.get("stooges"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
474 j.put("map", m);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
475 j.put("collection", c);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
476 j.put("array", a);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
477 a.put(m);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
478 a.put(c);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
479 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
480
db87c1b7eb6d initial
dwinter
parents:
diff changeset
481 s = "{plist=Apple; AnimalSmells = { pig = piggish; lamb = lambish; worm = wormy; }; AnimalSounds = { pig = oink; lamb = baa; worm = baa; Lisa = \"Why is the worm talking like a lamb?\" } ; AnimalColors = { pig = pink; lamb = black; worm = pink; } } ";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
482 j = new JSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
483 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
484
db87c1b7eb6d initial
dwinter
parents:
diff changeset
485 s = " (\"San Francisco\", \"New York\", \"Seoul\", \"London\", \"Seattle\", \"Shanghai\")";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
486 a = new JSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
487 System.out.println(a.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
488
db87c1b7eb6d initial
dwinter
parents:
diff changeset
489 s = "<a ichi='1' ni='2'><b>The content of b</b> and <c san='3'>The content of c</c><d>do</d><e></e><d>re</d><f/><d>mi</d></a>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
490 j = XML.toJSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
491
db87c1b7eb6d initial
dwinter
parents:
diff changeset
492 System.out.println(j.toString(2));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
493 System.out.println(XML.toString(j));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
494 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
495 ja = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
496 System.out.println(ja.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
497 System.out.println(JSONML.toString(ja));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
498 System.out.println("");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
499
db87c1b7eb6d initial
dwinter
parents:
diff changeset
500
db87c1b7eb6d initial
dwinter
parents:
diff changeset
501 System.out.println("\nTesting Exceptions: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
502
db87c1b7eb6d initial
dwinter
parents:
diff changeset
503 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
504 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
505 a = new JSONArray();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
506 a.put(Double.NEGATIVE_INFINITY);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
507 a.put(Double.NaN);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
508 System.out.println(a.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
509 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
510 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
511 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
512 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
513 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
514 System.out.println(j.getDouble("stooge"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
515 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
516 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
517 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
518 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
519 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
520 System.out.println(j.getDouble("howard"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
521 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
522 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
523 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
524 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
525 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
526 System.out.println(j.put(null, "howard"));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
527 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
528 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
529 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
530 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
531 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
532 System.out.println(a.getDouble(0));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
533 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
534 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
535 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
536 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
537 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
538 System.out.println(a.get(-1));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
539 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
540 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
541 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
542 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
543 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
544 System.out.println(a.put(Double.NaN));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
545 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
546 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
547 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
548 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
549 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
550 j = XML.toJSONObject("<a><b> ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
551 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
552 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
553 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
554 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
555 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
556 j = XML.toJSONObject("<a></b> ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
557 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
558 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
559 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
560 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
561 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
562 j = XML.toJSONObject("<a></a ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
563 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
564 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
565 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
566 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
567 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
568 ja = new JSONArray(new Object());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
569 System.out.println(ja.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
570 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
571 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
572 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
573
db87c1b7eb6d initial
dwinter
parents:
diff changeset
574 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
575 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
576 s = "[)";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
577 a = new JSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
578 System.out.println(a.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
579 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
580 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
581 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
582
db87c1b7eb6d initial
dwinter
parents:
diff changeset
583 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
584 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
585 s = "<xml";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
586 ja = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
587 System.out.println(ja.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
588 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
589 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
590 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
591
db87c1b7eb6d initial
dwinter
parents:
diff changeset
592 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
593 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
594 s = "<right></wrong>";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
595 ja = JSONML.toJSONArray(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
596 System.out.println(ja.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
597 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
598 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
599 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
600
db87c1b7eb6d initial
dwinter
parents:
diff changeset
601 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
602 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
603 s = "{\"koda\": true, \"koda\": true}";
db87c1b7eb6d initial
dwinter
parents:
diff changeset
604 j = new JSONObject(s);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
605 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
606 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
607 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
608 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
609
db87c1b7eb6d initial
dwinter
parents:
diff changeset
610 System.out.print("Exception: ");
db87c1b7eb6d initial
dwinter
parents:
diff changeset
611 try {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
612 jj = new JSONStringer();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
613 s = jj
db87c1b7eb6d initial
dwinter
parents:
diff changeset
614 .object()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
615 .key("bosanda")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
616 .value("MARIE HAA'S")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
617 .key("bosanda")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
618 .value("MARIE HAA\\'S")
db87c1b7eb6d initial
dwinter
parents:
diff changeset
619 .endObject()
db87c1b7eb6d initial
dwinter
parents:
diff changeset
620 .toString();
db87c1b7eb6d initial
dwinter
parents:
diff changeset
621 System.out.println(j.toString(4));
db87c1b7eb6d initial
dwinter
parents:
diff changeset
622 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
623 System.out.println(e);
db87c1b7eb6d initial
dwinter
parents:
diff changeset
624 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
625 } catch (Exception e) {
db87c1b7eb6d initial
dwinter
parents:
diff changeset
626 System.out.println(e.toString());
db87c1b7eb6d initial
dwinter
parents:
diff changeset
627 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
628 }
db87c1b7eb6d initial
dwinter
parents:
diff changeset
629 }