Wed, 31 Dec 2014 07:22:50 +0100
Correct previous dual key logic pending first delivery installment.
1 /*
2 * $Id: JSONArray.java,v 1.1 2006/04/15 14:10:48 platform Exp $
3 * Created on 2006-4-10
4 */
5 package org.json.simple;
7 import java.io.IOException;
8 import java.io.Writer;
9 import java.util.ArrayList;
10 import java.util.Iterator;
11 import java.util.List;
14 /**
15 * A JSON array. JSONObject supports java.util.List interface.
16 *
17 * @author FangYidong<fangyidong@yahoo.com.cn>
18 */
19 public class JSONArray extends ArrayList implements List, JSONAware, JSONStreamAware {
20 private static final long serialVersionUID = 3957988303675231981L;
22 /**
23 * Encode a list into JSON text and write it to out.
24 * If this list is also a JSONStreamAware or a JSONAware, JSONStreamAware and JSONAware specific behaviours will be ignored at this top level.
25 *
26 * @see org.json.simple.JSONValue#writeJSONString(Object, Writer)
27 *
28 * @param list
29 * @param out
30 */
31 public static void writeJSONString(List list, Writer out) throws IOException{
32 if(list == null){
33 out.write("null");
34 return;
35 }
37 boolean first = true;
38 Iterator iter=list.iterator();
40 out.write('[');
41 while(iter.hasNext()){
42 if(first)
43 first = false;
44 else
45 out.write(',');
47 Object value=iter.next();
48 if(value == null){
49 out.write("null");
50 continue;
51 }
53 JSONValue.writeJSONString(value, out);
54 }
55 out.write(']');
56 }
58 public void writeJSONString(Writer out) throws IOException{
59 writeJSONString(this, out);
60 }
62 /**
63 * Convert a list to JSON text. The result is a JSON array.
64 * If this list is also a JSONAware, JSONAware specific behaviours will be omitted at this top level.
65 *
66 * @see org.json.simple.JSONValue#toJSONString(Object)
67 *
68 * @param list
69 * @return JSON text, or "null" if list is null.
70 */
71 public static String toJSONString(List list){
72 if(list == null)
73 return "null";
75 boolean first = true;
76 StringBuffer sb = new StringBuffer();
77 Iterator iter=list.iterator();
79 sb.append('[');
80 while(iter.hasNext()){
81 if(first)
82 first = false;
83 else
84 sb.append(',');
86 Object value=iter.next();
87 if(value == null){
88 sb.append("null");
89 continue;
90 }
91 sb.append(JSONValue.toJSONString(value));
92 }
93 sb.append(']');
94 return sb.toString();
95 }
97 public String toJSONString(){
98 return toJSONString(this);
99 }
101 public String toString() {
102 return toJSONString();
103 }
107 }