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 booleanisValidObject(java.lang.Object object)Return whether the object is a valid value for a property.static booleanisValidType(java.lang.Class clazz)Return whether the class is a valid type of value for a property.static JSONObjectparse(java.io.InputStream is)Convert a stream of JSON text into object form.static JSONObjectparse(java.io.Reader reader)Convert a stream (in reader form) of JSON text into object form.static JSONObjectparse(java.lang.String str)Convert a String of JSON text into object form.java.lang.Objectput(java.lang.Object key, java.lang.Object value)(non-Javadoc)java.lang.Stringserialize()Convert this object into a String of JSON text.java.lang.Stringserialize(boolean verbose)Convert this object into a String of JSON text, specifying verbosity.voidserialize(java.io.OutputStream os)Convert this object into a stream of JSON text.voidserialize(java.io.OutputStream os, boolean verbose)Convert this object into a stream of JSON text.voidserialize(java.io.Writer writer)Convert this object into a stream of JSON text.voidserialize(java.io.Writer writer, boolean verbose)Convert this object into a stream of JSON text, specifying verbosity.java.lang.StringtoString()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.IOExceptionConvert 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:
serializein 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.IOExceptionConvert 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:
serializein 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.IOExceptionConvert this object into a stream of JSON text. Same as calling serialize(writer,false);- Specified by:
serializein 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.IOExceptionConvert this object into a stream of JSON text, specifying verbosity.- Specified by:
serializein 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.IOExceptionConvert this object into a String of JSON text, specifying verbosity.- Specified by:
serializein 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.IOExceptionConvert this object into a String of JSON text. Same as serialize(false);- Specified by:
serializein 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:
putin interfacejava.util.Map- Overrides:
putin 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:
toStringin classjava.util.AbstractMap
-
-