+++ /dev/null
-/*
- * $Id: JSONArray.java,v 1.1 2006/04/15 14:10:48 platform Exp $
- * Created on 2006-4-10
- */
-package org.json.simple;
-
-import java.io.IOException;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * A JSON array. JSONObject supports java.util.List interface.
- *
- * @author FangYidong<fangyidong@yahoo.com.cn>
- */
-public class JSONArray extends ArrayList implements JSONAware, JSONStreamAware {
- private static final long serialVersionUID = 3957988303675231981L;
-
- /**
- * Constructs an empty JSONArray.
- */
- public JSONArray(){
- super();
- }
-
- /**
- * Constructs a JSONArray containing the elements of the specified
- * collection, in the order they are returned by the collection's iterator.
- *
- * @param c the collection whose elements are to be placed into this JSONArray
- */
- public JSONArray(Collection c){
- super(c);
- }
-
- /**
- * Encode a list into JSON text and write it to out.
- * If this list is also a JSONStreamAware or a JSONAware, JSONStreamAware and JSONAware specific behaviours will be ignored at this top level.
- *
- * @see org.json.simple.JSONValue#writeJSONString(Object, Writer)
- *
- * @param collection
- * @param out
- */
- public static void writeJSONString(Collection collection, Writer out) throws IOException{
- if(collection == null){
- out.write("null");
- return;
- }
-
- boolean first = true;
- Iterator iter=collection.iterator();
-
- out.write('[');
- while(iter.hasNext()){
- if(first)
- first = false;
- else
- out.write(',');
-
- Object value=iter.next();
- if(value == null){
- out.write("null");
- continue;
- }
-
- JSONValue.writeJSONString(value, out);
- }
- out.write(']');
- }
-
- public void writeJSONString(Writer out) throws IOException{
- writeJSONString(this, out);
- }
-
- /**
- * Convert a list to JSON text. The result is a JSON array.
- * If this list is also a JSONAware, JSONAware specific behaviours will be omitted at this top level.
- *
- * @see org.json.simple.JSONValue#toJSONString(Object)
- *
- * @param collection
- * @return JSON text, or "null" if list is null.
- */
- public static String toJSONString(Collection collection){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(collection, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(byte[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(byte[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(short[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(short[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(int[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(int[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(long[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(long[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(float[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(float[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(double[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(double[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(boolean[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(boolean[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(char[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[\"");
- out.write(String.valueOf(array[0]));
-
- for(int i = 1; i < array.length; i++){
- out.write("\",\"");
- out.write(String.valueOf(array[i]));
- }
-
- out.write("\"]");
- }
- }
-
- public static String toJSONString(char[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public static void writeJSONString(Object[] array, Writer out) throws IOException{
- if(array == null){
- out.write("null");
- } else if(array.length == 0) {
- out.write("[]");
- } else {
- out.write("[");
- JSONValue.writeJSONString(array[0], out);
-
- for(int i = 1; i < array.length; i++){
- out.write(",");
- JSONValue.writeJSONString(array[i], out);
- }
-
- out.write("]");
- }
- }
-
- public static String toJSONString(Object[] array){
- final StringWriter writer = new StringWriter();
-
- try {
- writeJSONString(array, writer);
- return writer.toString();
- } catch(IOException e){
- // This should never happen for a StringWriter
- throw new RuntimeException(e);
- }
- }
-
- public String toJSONString(){
- return toJSONString(this);
- }
-
- /**
- * Returns a string representation of this array. This is equivalent to
- * calling {@link JSONArray#toJSONString()}.
- */
- public String toString() {
- return toJSONString();
- }
-}