Added support for primitive and Object arrays. Added supporting unit tests.

This commit is contained in:
jon.chambers@gmail.com
2013-08-10 02:57:24 +00:00
parent 7de38e5c41
commit e9e14319ab
4 changed files with 912 additions and 1 deletions

View File

@@ -110,10 +110,392 @@ public class JSONArray extends ArrayList implements JSONAware, JSONStreamAware {
return sb.toString(); return sb.toString();
} }
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(String.valueOf(array[0]));
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(String.valueOf(array[i]));
}
buffer.append("]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(array[0]);
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(array[i]);
}
buffer.append("]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(array[0]);
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(array[i]);
}
buffer.append("]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(array[0]);
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(array[i]);
}
buffer.append("]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(array[0]);
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(array[i]);
}
buffer.append("]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(array[0]);
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(array[i]);
}
buffer.append("]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(array[0]);
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(array[i]);
}
buffer.append("]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[\"");
buffer.append(array[0]);
for(int i = 1; i < array.length; i++){
buffer.append("\",\"");
buffer.append(array[i]);
}
buffer.append("\"]");
return buffer.toString();
}
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){
if(array == null){
return "null";
}
if(array.length == 0) {
return "[]";
}
final StringBuffer buffer = new StringBuffer();
buffer.append("[");
buffer.append(JSONValue.toJSONString(array[0]));
for(int i = 1; i < array.length; i++){
buffer.append(",");
buffer.append(JSONValue.toJSONString(array[i]));
}
buffer.append("]");
return buffer.toString();
}
public String toJSONString(){ public String toJSONString(){
return toJSONString(this); return toJSONString(this);
} }
/**
* Returns a string representation of this array. This is equivalent to
* calling {@link JSONArray#toJSONString()}.
*/
public String toString() { public String toString() {
return toJSONString(); return toJSONString();
} }

View File

@@ -152,6 +152,51 @@ public class JSONValue {
return; return;
} }
if(value instanceof byte[]){
JSONArray.writeJSONString((byte[])value, out);
return;
}
if(value instanceof short[]){
JSONArray.writeJSONString((short[])value, out);
return;
}
if(value instanceof int[]){
JSONArray.writeJSONString((int[])value, out);
return;
}
if(value instanceof long[]){
JSONArray.writeJSONString((long[])value, out);
return;
}
if(value instanceof float[]){
JSONArray.writeJSONString((float[])value, out);
return;
}
if(value instanceof double[]){
JSONArray.writeJSONString((double[])value, out);
return;
}
if(value instanceof boolean[]){
JSONArray.writeJSONString((boolean[])value, out);
return;
}
if(value instanceof char[]){
JSONArray.writeJSONString((char[])value, out);
return;
}
if(value instanceof Object[]){
JSONArray.writeJSONString((Object[])value, out);
return;
}
out.write(value.toString()); out.write(value.toString());
} }
@@ -205,6 +250,33 @@ public class JSONValue {
if(value instanceof Collection) if(value instanceof Collection)
return JSONArray.toJSONString((Collection)value); return JSONArray.toJSONString((Collection)value);
if(value instanceof byte[])
return JSONArray.toJSONString((byte[])value);
if(value instanceof short[])
return JSONArray.toJSONString((short[])value);
if(value instanceof int[])
return JSONArray.toJSONString((int[])value);
if(value instanceof long[])
return JSONArray.toJSONString((long[])value);
if(value instanceof float[])
return JSONArray.toJSONString((float[])value);
if(value instanceof double[])
return JSONArray.toJSONString((double[])value);
if(value instanceof boolean[])
return JSONArray.toJSONString((boolean[])value);
if(value instanceof char[])
return JSONArray.toJSONString((char[])value);
if(value instanceof Object[])
return JSONArray.toJSONString((Object[])value);
return value.toString(); return value.toString();
} }

View File

@@ -61,4 +61,228 @@ public class JSONArrayTest extends TestCase {
assertEquals(2, jsonArray.size()); assertEquals(2, jsonArray.size());
} }
public void testByteArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((byte[])null));
assertEquals("[]", JSONArray.toJSONString(new byte[0]));
assertEquals("[12]", JSONArray.toJSONString(new byte[] { 12 }));
assertEquals("[-7,22,86,-99]", JSONArray.toJSONString(new byte[] { -7, 22, 86, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((byte[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new byte[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new byte[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new byte[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testShortArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((short[])null));
assertEquals("[]", JSONArray.toJSONString(new short[0]));
assertEquals("[12]", JSONArray.toJSONString(new short[] { 12 }));
assertEquals("[-7,22,86,-99]", JSONArray.toJSONString(new short[] { -7, 22, 86, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((short[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new short[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new short[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new short[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testIntArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((int[])null));
assertEquals("[]", JSONArray.toJSONString(new int[0]));
assertEquals("[12]", JSONArray.toJSONString(new int[] { 12 }));
assertEquals("[-7,22,86,-99]", JSONArray.toJSONString(new int[] { -7, 22, 86, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((int[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new int[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new int[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new int[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testLongArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((long[])null));
assertEquals("[]", JSONArray.toJSONString(new long[0]));
assertEquals("[12]", JSONArray.toJSONString(new long[] { 12 }));
assertEquals("[-7,22,9223372036854775807,-99]", JSONArray.toJSONString(new long[] { -7, 22, 9223372036854775807L, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((long[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new long[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new long[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new long[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testFloatArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((float[])null));
assertEquals("[]", JSONArray.toJSONString(new float[0]));
assertEquals("[12.8]", JSONArray.toJSONString(new float[] { 12.8f }));
assertEquals("[-7.1,22.234,86.7,-99.02]", JSONArray.toJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((float[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new float[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new float[] { 12.8f }, writer);
assertEquals("[12.8]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }, writer);
assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
}
public void testDoubleArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((double[])null));
assertEquals("[]", JSONArray.toJSONString(new double[0]));
assertEquals("[12.8]", JSONArray.toJSONString(new double[] { 12.8 }));
assertEquals("[-7.1,22.234,86.7,-99.02]", JSONArray.toJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((double[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new double[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new double[] { 12.8 }, writer);
assertEquals("[12.8]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }, writer);
assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
}
public void testBooleanArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((boolean[])null));
assertEquals("[]", JSONArray.toJSONString(new boolean[0]));
assertEquals("[true]", JSONArray.toJSONString(new boolean[] { true }));
assertEquals("[true,false,true]", JSONArray.toJSONString(new boolean[] { true, false, true }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((boolean[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new boolean[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new boolean[] { true }, writer);
assertEquals("[true]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new boolean[] { true, false, true }, writer);
assertEquals("[true,false,true]", writer.toString());
}
public void testCharArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((char[])null));
assertEquals("[]", JSONArray.toJSONString(new char[0]));
assertEquals("[\"a\"]", JSONArray.toJSONString(new char[] { 'a' }));
assertEquals("[\"a\",\"b\",\"c\"]", JSONArray.toJSONString(new char[] { 'a', 'b', 'c' }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((char[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new char[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new char[] { 'a' }, writer);
assertEquals("[\"a\"]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new char[] { 'a', 'b', 'c' }, writer);
assertEquals("[\"a\",\"b\",\"c\"]", writer.toString());
}
public void testObjectArrayToString() throws IOException {
assertEquals("null", JSONArray.toJSONString((Object[])null));
assertEquals("[]", JSONArray.toJSONString(new Object[0]));
assertEquals("[\"Hello\"]", JSONArray.toJSONString(new Object[] { "Hello" }));
assertEquals("[\"Hello\",12,[1,2,3]]", JSONArray.toJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3 } }));
StringWriter writer;
writer = new StringWriter();
JSONArray.writeJSONString((Object[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new Object[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new Object[] { "Hello" }, writer);
assertEquals("[\"Hello\"]", writer.toString());
writer = new StringWriter();
JSONArray.writeJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3} }, writer);
assertEquals("[\"Hello\",12,[1,2,3]]", writer.toString());
}
} }

View File

@@ -0,0 +1,233 @@
package org.json.simple;
import java.io.IOException;
import java.io.StringWriter;
import junit.framework.TestCase;
public class JSONValueTest extends TestCase {
public void testByteArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((byte[])null));
assertEquals("[]", JSONValue.toJSONString(new byte[0]));
assertEquals("[12]", JSONValue.toJSONString(new byte[] { 12 }));
assertEquals("[-7,22,86,-99]", JSONValue.toJSONString(new byte[] { -7, 22, 86, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((byte[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new byte[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new byte[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new byte[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testShortArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((short[])null));
assertEquals("[]", JSONValue.toJSONString(new short[0]));
assertEquals("[12]", JSONValue.toJSONString(new short[] { 12 }));
assertEquals("[-7,22,86,-99]", JSONValue.toJSONString(new short[] { -7, 22, 86, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((short[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new short[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new short[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new short[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testIntArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((int[])null));
assertEquals("[]", JSONValue.toJSONString(new int[0]));
assertEquals("[12]", JSONValue.toJSONString(new int[] { 12 }));
assertEquals("[-7,22,86,-99]", JSONValue.toJSONString(new int[] { -7, 22, 86, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((int[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new int[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new int[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new int[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testLongArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((long[])null));
assertEquals("[]", JSONValue.toJSONString(new long[0]));
assertEquals("[12]", JSONValue.toJSONString(new long[] { 12 }));
assertEquals("[-7,22,9223372036854775807,-99]", JSONValue.toJSONString(new long[] { -7, 22, 9223372036854775807L, -99 }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((long[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new long[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new long[] { 12 }, writer);
assertEquals("[12]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new long[] { -7, 22, 86, -99 }, writer);
assertEquals("[-7,22,86,-99]", writer.toString());
}
public void testFloatArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((float[])null));
assertEquals("[]", JSONValue.toJSONString(new float[0]));
assertEquals("[12.8]", JSONValue.toJSONString(new float[] { 12.8f }));
assertEquals("[-7.1,22.234,86.7,-99.02]", JSONValue.toJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((float[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new float[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new float[] { 12.8f }, writer);
assertEquals("[12.8]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new float[] { -7.1f, 22.234f, 86.7f, -99.02f }, writer);
assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
}
public void testDoubleArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((double[])null));
assertEquals("[]", JSONValue.toJSONString(new double[0]));
assertEquals("[12.8]", JSONValue.toJSONString(new double[] { 12.8 }));
assertEquals("[-7.1,22.234,86.7,-99.02]", JSONValue.toJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((double[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new double[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new double[] { 12.8 }, writer);
assertEquals("[12.8]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new double[] { -7.1, 22.234, 86.7, -99.02 }, writer);
assertEquals("[-7.1,22.234,86.7,-99.02]", writer.toString());
}
public void testBooleanArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((boolean[])null));
assertEquals("[]", JSONValue.toJSONString(new boolean[0]));
assertEquals("[true]", JSONValue.toJSONString(new boolean[] { true }));
assertEquals("[true,false,true]", JSONValue.toJSONString(new boolean[] { true, false, true }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((boolean[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new boolean[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new boolean[] { true }, writer);
assertEquals("[true]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new boolean[] { true, false, true }, writer);
assertEquals("[true,false,true]", writer.toString());
}
public void testCharArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((char[])null));
assertEquals("[]", JSONValue.toJSONString(new char[0]));
assertEquals("[\"a\"]", JSONValue.toJSONString(new char[] { 'a' }));
assertEquals("[\"a\",\"b\",\"c\"]", JSONValue.toJSONString(new char[] { 'a', 'b', 'c' }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((char[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new char[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new char[] { 'a' }, writer);
assertEquals("[\"a\"]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new char[] { 'a', 'b', 'c' }, writer);
assertEquals("[\"a\",\"b\",\"c\"]", writer.toString());
}
public void testObjectArrayToString() throws IOException {
assertEquals("null", JSONValue.toJSONString((Object[])null));
assertEquals("[]", JSONValue.toJSONString(new Object[0]));
assertEquals("[\"Hello\"]", JSONValue.toJSONString(new Object[] { "Hello" }));
assertEquals("[\"Hello\",12,[1,2,3]]", JSONValue.toJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3 } }));
StringWriter writer;
writer = new StringWriter();
JSONValue.writeJSONString((Object[])null, writer);
assertEquals("null", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new Object[0], writer);
assertEquals("[]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new Object[] { "Hello" }, writer);
assertEquals("[\"Hello\"]", writer.toString());
writer = new StringWriter();
JSONValue.writeJSONString(new Object[] { "Hello", new Integer(12), new int[] { 1, 2, 3} }, writer);
assertEquals("[\"Hello\",12,[1,2,3]]", writer.toString());
}
}