Class JsonValue
- All Implemented Interfaces:
Serializable
- Direct Known Subclasses:
JsonArray,JsonObject,JsonString
The literals true, false, and
null are represented by the constants Json.TRUE,
Json.FALSE, and Json.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 Json.value(String),
Json.value(long), Json.value(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.
- See Also:
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionasArray()Returns this JSON value asJsonArray, assuming that this value represents a JSON array.booleanReturns this JSON value as abooleanvalue, assuming that this value is eithertrueorfalse.doubleasDouble()Returns this JSON value as adoublevalue, assuming that this value represents a JSON number.floatasFloat()Returns this JSON value as afloatvalue, assuming that this value represents a JSON number.intasInt()Returns this JSON value as anintvalue, assuming that this value represents a JSON number that can be interpreted as Javaint.longasLong()Returns this JSON value as alongvalue, assuming that this value represents a JSON number that can be interpreted as Javalong.asObject()Returns this JSON value asJsonObject, assuming that this value represents a JSON object.asString()Returns this JSON value as String, assuming that this value represents a JSON string.cloneMe()Added for PlantUML.booleanIndicates whether some other object is "equal to" this one according to the contract specified inObject.equals(Object).inthashCode()booleanisArray()Detects whether this value represents a JSON array.booleanDetects whether this value represents a boolean value.booleanisFalse()Detects whether this value represents the JSON literalfalse.booleanisNull()Detects whether this value represents the JSON literalnull.booleanisNumber()Detects whether this value represents a JSON number.booleanisObject()Detects whether this value represents a JSON object.booleanisString()Detects whether this value represents a JSON string.booleanisTrue()Detects whether this value represents the JSON literaltrue.static JsonValueDeprecated.UseJson.parse(Reader)insteadstatic JsonValueDeprecated.UseJson.parse(String)insteadtoString()Returns the JSON string for this value in its minimal form, without any additional whitespace.toString(WriterConfig config) Returns the JSON string for this value using the given formatting.static JsonValuevalueOf(boolean value) Deprecated.UseJson.value()insteadstatic JsonValuevalueOf(double value) Deprecated.UseJson.value()insteadstatic JsonValuevalueOf(float value) Deprecated.UseJson.value()insteadstatic JsonValuevalueOf(int value) Deprecated.UseJson.value()insteadstatic JsonValuevalueOf(long value) Deprecated.UseJson.value()insteadstatic JsonValueDeprecated.UseJson.value()insteadvoidWrites the JSON representation of this value to the given writer in its minimal form, without any additional whitespace.voidwriteTo(Writer writer, WriterConfig config) Writes the JSON representation of this value to the given writer using the given formatting.
-
Field Details
-
TRUE
Deprecated.UseJson.TRUEinsteadRepresents the JSON literaltrue. -
FALSE
Deprecated.UseJson.FALSEinsteadRepresents the JSON literalfalse. -
NULL
Deprecated.UseJson.NULLinsteadRepresents the JSON literalnull.
-
-
Method Details
-
readFrom
Deprecated.UseJson.parse(Reader)insteadReads a JSON value from the given reader.Characters are read in chunks and buffered internally, therefore wrapping an existing reader in an additional
BufferedReaderdoes not improve reading performance.- Parameters:
reader- the reader to read the JSON value from- Returns:
- the JSON value that has been read
- Throws:
IOException- if an I/O error occurs in the readerParseException- if the input is not valid JSON
-
readFrom
Deprecated.UseJson.parse(String)insteadReads a JSON value from the given string.- Parameters:
text- the string that contains the JSON value- Returns:
- the JSON value that has been read
- Throws:
ParseException- if the input is not valid JSON
-
valueOf
Deprecated.UseJson.value()insteadReturns a JsonValue instance that represents the givenintvalue.- Parameters:
value- the value to get a JSON representation for- Returns:
- a JSON value that represents the given value
-
valueOf
Deprecated.UseJson.value()insteadReturns a JsonValue instance that represents the givenlongvalue.- Parameters:
value- the value to get a JSON representation for- Returns:
- a JSON value that represents the given value
-
valueOf
Deprecated.UseJson.value()insteadReturns a JsonValue instance that represents the givenfloatvalue.- Parameters:
value- the value to get a JSON representation for- Returns:
- a JSON value that represents the given value
-
valueOf
Deprecated.UseJson.value()insteadReturns a JsonValue instance that represents the givendoublevalue.- Parameters:
value- the value to get a JSON representation for- Returns:
- a JSON value that represents the given value
-
valueOf
Deprecated.UseJson.value()insteadReturns a JsonValue instance that represents the given string.- Parameters:
string- the string to get a JSON representation for- Returns:
- a JSON value that represents the given string
-
valueOf
Deprecated.UseJson.value()insteadReturns a JsonValue instance that represents the givenbooleanvalue.- Parameters:
value- the value to get a JSON representation for- Returns:
- a JSON value that represents the given value
-
isObject
public boolean isObject()Detects whether this value represents a JSON object. If this is the case, this value is an instance ofJsonObject.- Returns:
trueif this value is an instance of JsonObject
-
isArray
public boolean isArray()Detects whether this value represents a JSON array. If this is the case, this value is an instance ofJsonArray.- Returns:
trueif this value is an instance of JsonArray
-
isNumber
public boolean isNumber()Detects whether this value represents a JSON number.- Returns:
trueif this value represents a JSON number
-
isString
public boolean isString()Detects whether this value represents a JSON string.- Returns:
trueif this value represents a JSON string
-
isBoolean
public boolean isBoolean()Detects whether this value represents a boolean value.- Returns:
trueif this value represents either the JSON literaltrueorfalse
-
isTrue
public boolean isTrue()Detects whether this value represents the JSON literaltrue.- Returns:
trueif this value represents the JSON literaltrue
-
isFalse
public boolean isFalse()Detects whether this value represents the JSON literalfalse.- Returns:
trueif this value represents the JSON literalfalse
-
isNull
public boolean isNull()Detects whether this value represents the JSON literalnull.- Returns:
trueif this value represents the JSON literalnull
-
asObject
Returns this JSON value asJsonObject, assuming that this value represents a JSON object. If this is not the case, an exception is thrown.- Returns:
- a JSONObject for this value
- Throws:
UnsupportedOperationException- if this value is not a JSON object
-
asArray
Returns this JSON value asJsonArray, assuming that this value represents a JSON array. If this is not the case, an exception is thrown.- Returns:
- a JSONArray for this value
- Throws:
UnsupportedOperationException- if this value is not a JSON array
-
asInt
public int asInt()Returns this JSON value as anintvalue, assuming that this value represents a JSON number that can be interpreted as Javaint. 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 theIntegerrange.- Returns:
- this value as
int - Throws:
UnsupportedOperationException- if this value is not a JSON numberNumberFormatException- if this JSON number can not be interpreted asintvalue
-
asLong
public long asLong()Returns this JSON value as alongvalue, assuming that this value represents a JSON number that can be interpreted as Javalong. 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 theLongrange.- Returns:
- this value as
long - Throws:
UnsupportedOperationException- if this value is not a JSON numberNumberFormatException- if this JSON number can not be interpreted aslongvalue
-
asFloat
public float asFloat()Returns this JSON value as afloatvalue, 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
Floatrange,Float.POSITIVE_INFINITYorFloat.NEGATIVE_INFINITYis returned.- Returns:
- this value as
float - Throws:
UnsupportedOperationException- if this value is not a JSON number
-
asDouble
public double asDouble()Returns this JSON value as adoublevalue, 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
Doublerange,Double.POSITIVE_INFINITYorDouble.NEGATIVE_INFINITYis returned.- Returns:
- this value as
double - Throws:
UnsupportedOperationException- if this value is not a JSON number
-
asString
Returns this JSON value as String, assuming that this value represents a JSON string. If this is not the case, an exception is thrown.- Returns:
- the string represented by this value
- Throws:
UnsupportedOperationException- if this value is not a JSON string
-
asBoolean
public boolean asBoolean()Returns this JSON value as abooleanvalue, assuming that this value is eithertrueorfalse. If this is not the case, an exception is thrown.- Returns:
- this value as
boolean - Throws:
UnsupportedOperationException- if this value is neithertrueorfalse
-
writeTo
Writes the JSON representation of this value to the given writer in its minimal form, without any additional whitespace.Writing performance can be improved by using a
BufferedWriter.- Parameters:
writer- the writer to write this value to- Throws:
IOException- if an I/O error occurs in the writer
-
writeTo
Writes the JSON representation of this value to the given writer using the given formatting.Writing performance can be improved by using a
BufferedWriter.- Parameters:
writer- the writer to write this value toconfig- a configuration that controls the formatting ornullfor the minimal form- Throws:
IOException- if an I/O error occurs in the writer
-
toString
Returns the JSON string for this value in its minimal form, without any additional whitespace. The result is guaranteed to be a valid input for the methodJson.parse(String)and to create a value that is equal to this object. -
toString
Returns the JSON string for this value using the given formatting.- Parameters:
config- a configuration that controls the formatting ornullfor the minimal form- Returns:
- a JSON string that represents this value
-
equals
Indicates whether some other object is "equal to" this one according to the contract specified inObject.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.
-
hashCode
public int hashCode() -
cloneMe
Added for PlantUML. The default implementation works for immutable objects. Must be overriden for JsonArray and JsonObject.
-
Json.FALSEinstead