JSON
To manipulate JSON object, Vert.x proposes its own implementation of JsonObject
and
JsonArray
.
This is because, unlike some other languages, Java does not have first class support for JSON.
There is a helper class (Json
) to ease the creation of JsonObject/JsonArray instances.
Note
|
Most vert.x methods taking a JSON object as argument in their Java version, take a map instead. |
JSON objects
The JsonObject
class represents JSON objects.
A JSON object is basically just a map which has string keys and values can be of one of the JSON supported types (string, number, boolean).
JSON objects also support null
values.
Creating JSON objects
Empty JSON objects can be created with the default constructor or using .
You can create a JSON object as follows:
import io.vertx.lang.scala.json.Json
def object = Json.obj(("foo","bar"))
Putting entries into a JSON object
Use the put
methods to put values into the JSON object.
The method invocations can be chained because of the fluent API:
import io.vertx.lang.scala.json.Json
val object = Json.emptyObj()
object.put("foo", "bar").put("num", 123).put("mybool", true)
Getting values from a JSON object
You get values from a JSON object using the getXXX
methods, for example:
val stringVal = jsonObject.getString("some-key")
val intVal = jsonObject.getInteger("some-other-key")
Encoding the JSON object to a String
You use encode
to encode the object to a String form. There is also a
encodePrettily
that makes the output pretty (understand multi-line and
indented).
JSON arrays
The JsonArray
class represents JSON arrays.
A JSON array is a sequence of values (string, number, boolean).
JSON arrays can also contain null
values.
Creating JSON arrays
You can create a JSON array as follows:
import io.vertx.lang.scala.json.Json
val jsonArray = Json.arr("bar", "baz")
Adding entries into a JSON array
You add entries to a JSON array using the add
methods.
import io.vertx.lang.scala.json.Json
val jsonArray = Json.emptyArray()
jsonArray.add("foo").add(123).add(false)
Getting values from a JSON array
You get values from a JSON array using the getXXX
methods, for example:
val stringVal = array.getString(0)
val intVal = array.getInteger(1)
val boolVal = array.getBoolean(2)
Encoding the JSON array to a String
You use encode
to encode the array to a String form. There is also a
encodePrettily
that makes the output pretty (understand multi-line and
indented).