Vert.x 3学习笔记---04

时间:2022-03-16 18:02:28

这一部分介绍JSON

概述

其实,这一部分不光对vertx有用。在很多的地方都用到json。
由于java没有提供原生的json支持。因此,在vertx中提供了两种JSON的类型,而没有采用第三方的json类库。

JSON objects

JsonObject对象表示了一个json的对象。它实质上就是一个map,拥有string类型的key,和其支持的类型(string, number, boolean)的value。当然它也支持null的value值。

Creating JSON objects

空的json object可以使用默认的构造方法创建出来。也可以从一个json形式的字符串创建一个json object 对象。如下:

String jsonString = "{\"foo\":\"bar\"}";
JsonObject object = new JsonObject(jsonString);

Putting entries into a JSON object

使用put方法在json对象中添加值。

JsonObject object = new JsonObject();
object.put("foo", "bar").put("num", 123).put("mybool", true);//the fluent API:

Getting values from a JSON object

使用getXXX()方法:

String val = jsonObject.getString("some-key");
int intVal = jsonObject.getInteger("some-other-key");

Encoding the JSON object to a String

使用encode方法,来将一个json object序列化为一个字符串。

JSON arrays

json格式的数组

Creating JSON arrays

空的json array可以使用默认的构造方法创建出来。也可以从一个json array形式的字符串创建一个json array对象。如下:

String jsonString = "[\"foo\",\"bar\"]";
JsonArray array = new JsonArray(jsonString);

Adding entries into a JSON array

add方法

JsonArray array = new JsonArray();
array.add("foo").add(123).add(false);

Getting values from a JSON array

使用getXXX()方法:

String val = array.getString(0);
Integer intVal = array.getInteger(1);
Boolean boolVal = array.getBoolean(2);

Encoding the JSON array to a String

使用encode方法。