com.ibm.json.java
Class JSONObject

java.lang.Object
  extended byjava.util.AbstractMap
      extended byjava.util.HashMap
          extended bycom.ibm.json.java.JSONObject
All Implemented Interfaces:
java.lang.Cloneable, JSONArtifact, java.util.Map, java.io.Serializable
Direct Known Subclasses:
OrderedJSONObject

public class JSONObject
extends java.util.HashMap
implements JSONArtifact

Models a JSON Object. Extension of HashMap that only allows String keys, and values which are JSON-able.

JSON-able values are: null, and instances of String, Boolean, Number, JSONObject and JSONArray.

Instances of this class are not thread-safe.

See Also:
Serialized Form

Constructor Summary
JSONObject()
          Create a new instance of this class.
 
Method Summary
static boolean isValidObject(java.lang.Object object)
          Return whether the object is a valid value for a property.
static boolean isValidType(java.lang.Class clazz)
          Return whether the class is a valid type of value for a property.
static JSONObject parse(java.io.InputStream is)
          Convert a stream of JSON text into object form.
static JSONObject parse(java.io.Reader reader)
          Convert a stream (in reader form) of JSON text into object form.
static JSONObject parse(java.lang.String str)
          Convert a String of JSON text into object form.
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
          (non-Javadoc)
 java.lang.String serialize()
          Convert this object into a String of JSON text.
 java.lang.String serialize(boolean verbose)
          Convert this object into a String of JSON text, specifying verbosity.
 void serialize(java.io.OutputStream os)
          Convert this object into a stream of JSON text.
 void serialize(java.io.OutputStream os, boolean verbose)
          Convert this object into a stream of JSON text.
 void serialize(java.io.Writer writer)
          Convert this object into a stream of JSON text.
 void serialize(java.io.Writer writer, boolean verbose)
          Convert this object into a stream of JSON text, specifying verbosity.
 java.lang.String toString()
          Over-ridden toString() method.
 
Methods inherited from class java.util.HashMap
clear, clone, containsKey, containsValue, entrySet, get, isEmpty, keySet, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Constructor Detail

JSONObject

public JSONObject()
Create a new instance of this class.

Method Detail

isValidObject

public static boolean isValidObject(java.lang.Object object)
Return whether the object is a valid value for a property.

Parameters:
object - The object to check for validity as a JSON property value.

isValidType

public static boolean isValidType(java.lang.Class clazz)
Return whether the class is a valid type of value for a property.

Parameters:
clazz - The class type to check for validity as a JSON object type.

parse

public static JSONObject parse(java.io.Reader reader)
                        throws java.io.IOException
Convert a stream (in reader form) of JSON text into object form.

Parameters:
reader - The reader from which the JSON data is read.
Returns:
The contructed JSON Object.
Throws:
IOEXception - Thrown if an underlying IO error from the reader occurs, or if malformed JSON is read,
java.io.IOException

parse

public static JSONObject parse(java.lang.String str)
                        throws java.io.IOException
Convert a String of JSON text into object form.

Parameters:
str - The JSON string to parse into a Java Object.
Returns:
The contructed JSON Object.
Throws:
IOEXception - Thrown if malformed JSON is read,
java.io.IOException

parse

public static JSONObject parse(java.io.InputStream is)
                        throws java.io.IOException
Convert a stream of JSON text into object form.

Parameters:
is - The inputStream from which to read the JSON. It will assume the input stream is in UTF-8 and read it as such.
Returns:
The contructed JSON Object.
Throws:
IOEXception - Thrown if an underlying IO error from the stream occurs, or if malformed JSON is read,
java.io.IOException

serialize

public void serialize(java.io.OutputStream os)
               throws java.io.IOException
Convert this object into a stream of JSON text. Same as calling serialize(os,false); Note that encoding is always written as UTF-8, as per JSON spec.

Specified by:
serialize in interface JSONArtifact
Parameters:
os - The output stream to serialize data to.
Throws:
java.io.IOException - Thrown on IO errors during serialization.

serialize

public void serialize(java.io.OutputStream os,
                      boolean verbose)
               throws java.io.IOException
Convert this object into a stream of JSON text. Same as calling serialize(writer,false); Note that encoding is always written as UTF-8, as per JSON spec.

Specified by:
serialize in interface JSONArtifact
Parameters:
os - The output stream to serialize data to.
verbose - Whether or not to write the JSON text in a verbose format.
Throws:
java.io.IOException - Thrown on IO errors during serialization.

serialize

public void serialize(java.io.Writer writer)
               throws java.io.IOException
Convert this object into a stream of JSON text. Same as calling serialize(writer,false);

Specified by:
serialize in interface JSONArtifact
Parameters:
writer - The writer which to serialize the JSON text to.
Throws:
java.io.IOException - Thrown on IO errors during serialization.

serialize

public void serialize(java.io.Writer writer,
                      boolean verbose)
               throws java.io.IOException
Convert this object into a stream of JSON text, specifying verbosity.

Specified by:
serialize in interface JSONArtifact
Parameters:
writer - The writer which to serialize the JSON text to.
Throws:
java.io.IOException - Thrown on IO errors during serialization.

serialize

public java.lang.String serialize(boolean verbose)
                           throws java.io.IOException
Convert this object into a String of JSON text, specifying verbosity.

Specified by:
serialize in interface JSONArtifact
Parameters:
verbose - Whether or not to serialize in compressed for formatted Strings.
Throws:
java.io.IOException - Thrown on IO errors during serialization.

serialize

public java.lang.String serialize()
                           throws java.io.IOException
Convert this object into a String of JSON text. Same as serialize(false);

Specified by:
serialize in interface JSONArtifact
Throws:
java.io.IOException - Thrown on IO errors during serialization.

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
(non-Javadoc)

Specified by:
put in interface java.util.Map
See Also:
HashMap.put(java.lang.Object, java.lang.Object)

toString

public java.lang.String toString()
Over-ridden toString() method. Returns the same value as serialize(), which is a compact JSON String. If an error occurs in the serialization, the return will be of format: JSON Generation Error: []