- java.lang.Object
-
- com.google.gson.JsonElement
-
- com.google.gson.JsonPrimitive
-
public final class JsonPrimitive extends JsonElement
A class representing a JSON primitive value. A primitive value is either a String, a Java primitive, or a Java primitive wrapper type.- Author:
- Inderjeet Singh, Joel Leitch
-
-
Constructor Summary
Constructors Constructor Description JsonPrimitive(Boolean bool)
Create a primitive containing a boolean value.JsonPrimitive(Character c)
Create a primitive containing a character.JsonPrimitive(Number number)
Create a primitive containing aNumber
.JsonPrimitive(String string)
Create a primitive containing a String value.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description JsonPrimitive
deepCopy()
Returns the same value as primitives are immutable.boolean
equals(Object obj)
Returns whether the other object is equal to this.BigDecimal
getAsBigDecimal()
Convenience method to get this element as aBigDecimal
.BigInteger
getAsBigInteger()
Convenience method to get this element as aBigInteger
.boolean
getAsBoolean()
Convenience method to get this element as a boolean value.byte
getAsByte()
Convenience method to get this element as a primitive byte value.char
getAsCharacter()
Deprecated.This method is misleading, as it does not get this element as a char but rather as a string's first character.double
getAsDouble()
Convenience method to get this element as a primitive double value.float
getAsFloat()
Convenience method to get this element as a primitive float value.int
getAsInt()
Convenience method to get this element as a primitive integer value.long
getAsLong()
Convenience method to get this element as a primitive long.Number
getAsNumber()
Convenience method to get this element as aNumber
.short
getAsShort()
Convenience method to get this element as a primitive short value.String
getAsString()
Convenience method to get this element as a string value.int
hashCode()
Returns the hash code of this object.boolean
isBoolean()
Check whether this primitive contains a boolean value.boolean
isNumber()
Check whether this primitive contains a Number.boolean
isString()
Check whether this primitive contains a String value.-
Methods inherited from class com.google.gson.JsonElement
getAsJsonArray, getAsJsonNull, getAsJsonObject, getAsJsonPrimitive, isJsonArray, isJsonNull, isJsonObject, isJsonPrimitive, toString
-
-
-
-
Constructor Detail
-
JsonPrimitive
public JsonPrimitive(Boolean bool)
Create a primitive containing a boolean value.- Parameters:
bool
- the value to create the primitive with.
-
JsonPrimitive
public JsonPrimitive(Number number)
Create a primitive containing aNumber
.- Parameters:
number
- the value to create the primitive with.
-
JsonPrimitive
public JsonPrimitive(String string)
Create a primitive containing a String value.- Parameters:
string
- the value to create the primitive with.
-
JsonPrimitive
public JsonPrimitive(Character c)
Create a primitive containing a character. The character is turned into a one character String since JSON only supports String.- Parameters:
c
- the value to create the primitive with.
-
-
Method Detail
-
deepCopy
public JsonPrimitive deepCopy()
Returns the same value as primitives are immutable.- Specified by:
deepCopy
in classJsonElement
- Since:
- 2.8.2
-
isBoolean
public boolean isBoolean()
Check whether this primitive contains a boolean value.- Returns:
- true if this primitive contains a boolean value, false otherwise.
-
getAsBoolean
public boolean getAsBoolean()
Convenience method to get this element as a boolean value. If this primitive is not a boolean, the string value is parsed usingBoolean.parseBoolean(String)
. This means"true"
(ignoring case) is consideredtrue
and any other value is consideredfalse
.- Overrides:
getAsBoolean
in classJsonElement
- Returns:
- this element as a primitive boolean value.
-
isNumber
public boolean isNumber()
Check whether this primitive contains a Number.- Returns:
- true if this primitive contains a Number, false otherwise.
-
getAsNumber
public Number getAsNumber()
Convenience method to get this element as aNumber
. If this primitive is a string, a lazily parsedNumber
is constructed which parses the string when any of its methods are called (which can lead to aNumberFormatException
).- Overrides:
getAsNumber
in classJsonElement
- Returns:
- this element as a
Number
. - Throws:
UnsupportedOperationException
- if this primitive is neither a number nor a string.
-
isString
public boolean isString()
Check whether this primitive contains a String value.- Returns:
- true if this primitive contains a String value, false otherwise.
-
getAsString
public String getAsString()
Description copied from class:JsonElement
Convenience method to get this element as a string value.- Overrides:
getAsString
in classJsonElement
- Returns:
- this element as a string value.
-
getAsDouble
public double getAsDouble()
Description copied from class:JsonElement
Convenience method to get this element as a primitive double value.- Overrides:
getAsDouble
in classJsonElement
- Returns:
- this element as a primitive double value.
- Throws:
NumberFormatException
- if the value contained is not a valid double.
-
getAsBigDecimal
public BigDecimal getAsBigDecimal()
Description copied from class:JsonElement
Convenience method to get this element as aBigDecimal
.- Overrides:
getAsBigDecimal
in classJsonElement
- Returns:
- this element as a
BigDecimal
. - Throws:
NumberFormatException
- if this element is not a validBigDecimal
.
-
getAsBigInteger
public BigInteger getAsBigInteger()
Description copied from class:JsonElement
Convenience method to get this element as aBigInteger
.- Overrides:
getAsBigInteger
in classJsonElement
- Returns:
- this element as a
BigInteger
. - Throws:
NumberFormatException
- if this element is not a validBigInteger
.
-
getAsFloat
public float getAsFloat()
Description copied from class:JsonElement
Convenience method to get this element as a primitive float value.- Overrides:
getAsFloat
in classJsonElement
- Returns:
- this element as a primitive float value.
- Throws:
NumberFormatException
- if the value contained is not a valid float.
-
getAsLong
public long getAsLong()
Convenience method to get this element as a primitive long.- Overrides:
getAsLong
in classJsonElement
- Returns:
- this element as a primitive long.
- Throws:
NumberFormatException
- if the value contained is not a valid long.
-
getAsShort
public short getAsShort()
Description copied from class:JsonElement
Convenience method to get this element as a primitive short value.- Overrides:
getAsShort
in classJsonElement
- Returns:
- this element as a primitive short value.
- Throws:
NumberFormatException
- if the value contained is not a valid short.
-
getAsInt
public int getAsInt()
Description copied from class:JsonElement
Convenience method to get this element as a primitive integer value.- Overrides:
getAsInt
in classJsonElement
- Returns:
- this element as a primitive integer value.
- Throws:
NumberFormatException
- if the value contained is not a valid integer.
-
getAsByte
public byte getAsByte()
Description copied from class:JsonElement
Convenience method to get this element as a primitive byte value.- Overrides:
getAsByte
in classJsonElement
- Returns:
- this element as a primitive byte value.
- Throws:
NumberFormatException
- if the value contained is not a valid byte.
-
getAsCharacter
@Deprecated public char getAsCharacter()
Deprecated.This method is misleading, as it does not get this element as a char but rather as a string's first character.Description copied from class:JsonElement
Convenience method to get the first character of the string value of this element.- Overrides:
getAsCharacter
in classJsonElement
- Returns:
- the first character of the string value.
- Throws:
UnsupportedOperationException
- if the string value of this primitive is empty.
-
hashCode
public int hashCode()
Returns the hash code of this object.
-
-