public interface JsonObjectBuilder
JsonObject
models from scratch. This
interface initializes an empty JSON object model and provides methods to add
name/value pairs to the object model and to return the resulting object.
The methods in this class can be chained to add multiple name/value pairs
to the object.
The class Json
contains methods to create the builder
object. The example code below shows how to build an empty JsonObject
instance.
JsonObject object = Json.createObjectBuilder().build();
The class JsonBuilderFactory
also contains methods to create
JsonObjectBuilder
instances. A factory instance can be used to create
multiple builder instances with the same configuration. This the preferred
way to create multiple instances.
The example code below shows how to build a JsonObject
model that
represents the following JSON object:
{
"firstName": "John", "lastName": "Smith", "age": 25,
"address" : {
"streetAddress": "21 2nd Street",
"city": "New York",
"state": "NY",
"postalCode": "10021"
},
"phoneNumber": [
{ "type": "home", "number": "212 555-1234" },
{ "type": "fax", "number": "646 555-4567" }
]
}
The code to create the object shown above is the following:
JsonBuilderFactory factory = Json.createBuilderFactory(config);
JsonObject value = factory.createObjectBuilder()
.add("firstName", "John")
.add("lastName", "Smith")
.add("age", 25)
.add("address", factory.createObjectBuilder()
.add("streetAddress", "21 2nd Street")
.add("city", "New York")
.add("state", "NY")
.add("postalCode", "10021"))
.add("phoneNumber", factory.createArrayBuilder()
.add(factory.createObjectBuilder()
.add("type", "home")
.add("number", "212 555-1234"))
.add(factory.createObjectBuilder()
.add("type", "fax")
.add("number", "646 555-4567")))
.build();
This class does not allow null
to be used as a name or
value while building the JSON object
JsonArrayBuilder
Modifier and Type | Method and Description |
---|---|
JsonObjectBuilder |
add(java.lang.String name,
java.math.BigDecimal value)
Adds a name/
JsonNumber pair to the JSON object associated with
this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
java.math.BigInteger value)
Adds a name/
JsonNumber pair to the JSON object associated with
this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
boolean value)
Adds a name/
JsonValue#TRUE or name/JsonValue#FALSE pair
to the JSON object associated with this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
double value)
Adds a name/
JsonNumber pair to the JSON object associated with
this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
int value)
Adds a name/
JsonNumber pair to the JSON object associated with
this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
JsonArrayBuilder builder)
Adds a name/
JsonArray pair to the JSON object associated with
this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
JsonObjectBuilder builder)
Adds a name/
JsonObject pair to the JSON object associated
with this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
JsonValue value)
Adds a name/
JsonValue pair to the JSON object associated with
this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
long value)
Adds a name/
JsonNumber pair to the JSON object associated with
this object builder. |
JsonObjectBuilder |
add(java.lang.String name,
java.lang.String value)
Adds a name/
JsonString pair to the JSON object associated with
this object builder. |
default JsonObjectBuilder |
addAll(JsonObjectBuilder builder)
Adds all name/value pairs in the JSON object associated with the specified
object builder to the JSON object associated with this object builder.
|
JsonObjectBuilder |
addNull(java.lang.String name)
Adds a name/
JsonValue#NULL pair to the JSON object associated
with this object builder where the value is null . |
JsonObject |
build()
Returns the JSON object associated with this object builder.
|
default JsonObjectBuilder |
remove(java.lang.String name)
Remove the name/value pair from the JSON object associated with this
object builder if it is present.
|
JsonObjectBuilder add(java.lang.String name, JsonValue value)
JsonValue
pair to the JSON object associated with
this object builder. If the object contains a mapping for the specified
name, this method replaces the old value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NullPointerException
- if the specified name or value is nullJsonObjectBuilder add(java.lang.String name, java.lang.String value)
JsonString
pair to the JSON object associated with
this object builder. If the object contains a mapping for the specified
name, this method replaces the old value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NullPointerException
- if the specified name or value is nullJsonObjectBuilder add(java.lang.String name, java.math.BigInteger value)
JsonNumber
pair to the JSON object associated with
this object builder. If the object contains a mapping for the specified
name, this method replaces the old value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NullPointerException
- if the specified name or value is nullJsonNumber
JsonObjectBuilder add(java.lang.String name, java.math.BigDecimal value)
JsonNumber
pair to the JSON object associated with
this object builder. If the object contains a mapping for the specified
name, this method replaces the old value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NullPointerException
- if the specified name or value is nullJsonNumber
JsonObjectBuilder add(java.lang.String name, int value)
JsonNumber
pair to the JSON object associated with
this object builder. If the object contains a mapping for the specified
name, this method replaces the old value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NullPointerException
- if the specified name is nullJsonNumber
JsonObjectBuilder add(java.lang.String name, long value)
JsonNumber
pair to the JSON object associated with
this object builder. If the object contains a mapping for the specified
name, this method replaces the old value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NullPointerException
- if the specified name is nullJsonNumber
JsonObjectBuilder add(java.lang.String name, double value)
JsonNumber
pair to the JSON object associated with
this object builder. If the object contains a mapping for the specified
name, this method replaces the old value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NumberFormatException
- if the value is Not-a-Number (NaN) or
infinityjava.lang.NullPointerException
- if the specified name is nullJsonNumber
JsonObjectBuilder add(java.lang.String name, boolean value)
JsonValue#TRUE
or name/JsonValue#FALSE
pair
to the JSON object associated with this object builder. If the object
contains a mapping for the specified name, this method replaces the old
value with the specified value.name
- name in the name/value pairvalue
- value in the name/value pairjava.lang.NullPointerException
- if the specified name is nullJsonObjectBuilder addNull(java.lang.String name)
JsonValue#NULL
pair to the JSON object associated
with this object builder where the value is null
.
If the object contains a mapping for the specified name, this method
replaces the old value with null
.name
- name in the name/value pairjava.lang.NullPointerException
- if the specified name is nullJsonObjectBuilder add(java.lang.String name, JsonObjectBuilder builder)
JsonObject
pair to the JSON object associated
with this object builder. The value JsonObject
is built from the
specified object builder. If the object contains a mapping for the
specified name, this method replaces the old value with the
JsonObject
from the specified object builder.name
- name in the name/value pairbuilder
- the value is the object associated with this builderjava.lang.NullPointerException
- if the specified name or builder is nullJsonObjectBuilder add(java.lang.String name, JsonArrayBuilder builder)
JsonArray
pair to the JSON object associated with
this object builder. The value JsonArray
is built from the
specified array builder. If the object contains a mapping for the
specified name, this method replaces the old value with the
JsonArray
from the specified array builder.name
- the name in the name/value pairbuilder
- the value is the object array with this builderjava.lang.NullPointerException
- if the specified name or builder is nulldefault JsonObjectBuilder addAll(JsonObjectBuilder builder)
builder
- the specified object builderjava.lang.NullPointerException
- if the specified builder is nulldefault JsonObjectBuilder remove(java.lang.String name)
name
- the name in the name/value pair to be removedjava.lang.NullPointerException
- if the specified name is nullJsonObject build()
JsonObject
is based
on the order in which name/value pairs are added to the object using
this builder.
This method clears the builder.