2.8. 使用 Jakarta JSON 处理
Jakarta JSON 处理在 Jakarta JSON 处理 1.1 规范中定义。
Jakarta JSON 处理定义用于处理 JSON 的 API。JBoss EAP 支持 javax.json.JsonObject、javax.json.JsonArray 和 javax.json.JsonStructure 作为请求或响应实体。
Jakarta JSON 处理与使用 Padding(JSONP)的 JSON 不同。
如果 Jakarta JSON 处理位于同一个类路径上,则不会与 Jackson 冲突。
若要创建 JsonObject,请通过调用 并构建 JSON 对象来使用 JsonObjectBuilder。
Json.createObjectBuilder ()
示例:创建 javax.json.JsonObject
JsonObject obj = Json.createObjectBuilder().add("name", "Bill").build();
JsonObject obj = Json.createObjectBuilder().add("name", "Bill").build();
示例: javax.json.JsonObject的 Corresponding JSON
{
"name":"Bill"
}
{
"name":"Bill"
}
若要创建 JsonArray,请通过调用 。
Json.createArrayBuilder ()并构建 JSON 数组来使用JsonArrayBuilderBuilder
示例:创建 javax.json.JsonArray
JsonArray array =
Json.createArrayBuilder()
.add(Json.createObjectBuilder().add("name", "Bill").build())
.add(Json.createObjectBuilder().add("name", "Monica").build()).build();
JsonArray array =
Json.createArrayBuilder()
.add(Json.createObjectBuilder().add("name", "Bill").build())
.add(Json.createObjectBuilder().add("name", "Monica").build()).build();
示例:用于 javax.json.JsonArray的 Corresponding JSON
JsonStructure 是 JsonObject 和Json Array 的父类。
示例:创建 javax.json.JsonStructure
您可以在 Jakarta RESTful Web Services 资源中直接使用 。
JsonObject、JsonArray 和 JsonStructure
示例:使用 Jakarta JSON 处理的 Jakarta RESTful Web 服务资源
您还可以使用客户端的 Jakarta JSON Processing 来发送 JSON。
示例:使用 Jakarta JSON 处理的客户端
WebTarget target = client.target(...);
JsonObject obj = Json.createObjectBuilder().add("name", "Bill").build();
JsonObject newObj = target.request().post(Entity.json(obj), JsonObject.class);
WebTarget target = client.target(...);
JsonObject obj = Json.createObjectBuilder().add("name", "Bill").build();
JsonObject newObj = target.request().post(Entity.json(obj), JsonObject.class);