public abstract class JSONValue extends Object implements Serializable
The literals true, false, and
null are represented by the constants #TRUE,
#FALSE, and #NULL.
JSON objects and arrays are represented by
the subtypes JSONObject and JSONArray. Instances of these
types can be created using the public constructors of these classes.
Instances that represent JSON numbers,
strings and boolean values can be created
using the static factory methods #valueOf(String),
#valueOf(long), #valueOf(double), etc.
In order to find out whether an instance of this class is of a certain type,
the methods isObject(), isArray(), isString(),
isNumber() etc. can be used.
If the type of a JSON value is known, the methods #asObject(),
asArray(), asString(), asInt(), etc. can be used
to get this value directly in the appropriate target type.
This class is not supposed to be extended by clients.
| 限定符和类型 | 方法和说明 |
|---|---|
JSONArray |
asArray()
Returns this JSON value as
JSONArray, assuming that this value
represents a JSON array. |
Boolean |
asBoolean()
Returns this JSON value as a
boolean value, assuming that
this value is either true or false. |
Double |
asDouble()
Returns this JSON value as a
double value, assuming that
this value represents a JSON number. |
Float |
asFloat()
Returns this JSON value as a
float value, assuming that this
value represents a JSON number. |
Integer |
asInt()
Returns this JSON value as an
int value, assuming that this
value represents a JSON number that can be interpreted as Java
int. |
JSONObject |
asJSONObject()
Returns this JSON value as
JSONObject, assuming that this value
represents a JSON object. |
Long |
asLong()
Returns this JSON value as a
long value, assuming that this
value represents a JSON number that can be interpreted as Java
long. |
String |
asString()
Returns this JSON value as String, assuming that this value represents a
JSON string.
|
boolean |
equals(Object object)
Indicates whether some other object is "equal to" this one according to
the contract specified in
Object.equals(Object). |
int |
hashCode() |
boolean |
isArray()
Detects whether this value represents a JSON array.
|
boolean |
isBean() |
boolean |
isBoolean()
Detects whether this value represents a boolean value.
|
boolean |
isFalse()
Detects whether this value represents the JSON literal
false
. |
boolean |
isLong() |
boolean |
isNull()
Detects whether this value represents the JSON literal
null. |
boolean |
isNumber()
Detects whether this value represents a JSON number.
|
boolean |
isObject()
Detects whether this value represents a JSON object.
|
boolean |
isString()
Detects whether this value represents a JSON string.
|
boolean |
isTrue()
Detects whether this value represents the JSON literal
true. |
String |
toString()
Returns the JSON string for this value in its minimal form, without any
additional whitespace.
|
String |
toString(WriterConfig config)
Returns the JSON string for this value using the given formatting.
|
void |
writeTo(Writer writer)
Writes the JSON representation of this value to the given writer in its
minimal form, without any additional whitespace.
|
void |
writeTo(Writer writer,
WriterConfig config)
Writes the JSON representation of this value to the given writer using
the given formatting.
|
public boolean isObject()
JSONObject.true if this value is an instance of JsonObjectpublic boolean isBean()
public boolean isArray()
JSONArray.true if this value is an instance of JsonArraypublic boolean isNumber()
true if this value represents a JSON numberpublic boolean isString()
true if this value represents a JSON stringpublic boolean isLong()
public boolean isBoolean()
true if this value represents either the JSON
literal true or falsepublic boolean isTrue()
true.true if this value represents the JSON literal
truepublic boolean isFalse()
false
.true if this value represents the JSON literal
falsepublic boolean isNull()
null.true if this value represents the JSON literal
nullpublic JSONObject asJSONObject()
JSONObject, assuming that this value
represents a JSON object. If this is not the case, an exception is
thrown.UnsupportedOperationException - if this value is not a JSON objectpublic JSONArray asArray()
JSONArray, assuming that this value
represents a JSON array. If this is not the case, an exception is thrown.UnsupportedOperationException - if this value is not a JSON arraypublic Integer asInt()
int value, assuming that this
value represents a JSON number that can be interpreted as Java
int. If this is not the case, an exception is thrown.
To be interpreted as Java int, the JSON number must neither
contain an exponent nor a fraction part. Moreover, the number must be in
the Integer range.
intUnsupportedOperationException - if this value is not a JSON numberNumberFormatException - if this JSON number can not be interpreted as
int valuepublic Long asLong()
long value, assuming that this
value represents a JSON number that can be interpreted as Java
long. If this is not the case, an exception is thrown.
To be interpreted as Java long, the JSON number must neither
contain an exponent nor a fraction part. Moreover, the number must be in
the Long range.
longUnsupportedOperationException - if this value is not a JSON numberNumberFormatException - if this JSON number can not be interpreted as
long valuepublic Float asFloat()
float value, assuming that this
value represents a JSON number. If this is not the case, an exception is
thrown.
If the JSON number is out of the Float range,
Float.POSITIVE_INFINITY or Float.NEGATIVE_INFINITY is
returned.
floatUnsupportedOperationException - if this value is not a JSON numberpublic Double asDouble()
double value, assuming that
this value represents a JSON number. If this is not the case, an
exception is thrown.
If the JSON number is out of the Double range,
Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY is
returned.
doubleUnsupportedOperationException - if this value is not a JSON numberpublic String asString()
UnsupportedOperationException - if this value is not a JSON stringpublic Boolean asBoolean()
boolean value, assuming that
this value is either true or false. If this is
not the case, an exception is thrown.booleanUnsupportedOperationException - if this value is neither true or
falsepublic void writeTo(Writer writer) throws IOException
Writing performance can be improved by using a
BufferedWriter.
writer - the writer to write this value toIOException - if an I/O error occurs in the writerpublic void writeTo(Writer writer, WriterConfig config) throws IOException
Writing performance can be improved by using a
BufferedWriter.
writer - the writer to write this value toconfig - a configuration that controls the formatting or
null for the minimal formIOException - if an I/O error occurs in the writerpublic String toString()
#readFrom(String) and to create a value that is
equal to this object.public String toString(WriterConfig config)
config - a configuration that controls the formatting or
null for the minimal formpublic boolean equals(Object object)
Object.equals(Object).
Two JsonValues are considered equal if and only if they represent the same JSON text. As a consequence, two given JsonObjects may be different even though they contain the same set of names with the same values, but in a different order.
Copyright © 2016. All rights reserved.