Package com.ibm.json.java
Class JSONObject
- java.lang.Object
-
- java.util.AbstractMap<K,V>
-
- java.util.HashMap
-
- com.ibm.json.java.JSONObject
-
- All Implemented Interfaces:
JSONArtifact
,java.io.Serializable
,java.lang.Cloneable
,java.util.Map
- 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
Constructors Constructor Description JSONObject()
Create a new instance of this class.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
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 interfaceJSONArtifact
- 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 interfaceJSONArtifact
- 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 interfaceJSONArtifact
- 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 interfaceJSONArtifact
- 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 interfaceJSONArtifact
- 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 interfaceJSONArtifact
- 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 interfacejava.util.Map
- Overrides:
put
in classjava.util.HashMap
- 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: [] - Overrides:
toString
in classjava.util.AbstractMap
-
-