我有一个方法,它应该返回一个带有JsonObject
(带有arraylist)的Response
,与本文的bottem中的代码完全相同。这是一个 java @GET
方法。我知道如何使用以下json.createObjectBuilder
构建jsonobject
:
JsonObject jo = Json.createObjectBuilder().add("name", "item").add("user", user.getUser()).build();
但是我不知道如何像下面的代码那样构建。所以我必须用"items"这个名字做一个添加,这是一个数组列表。每个项目都有四个属性:id、name、bool 和另一个 arraylist reserveItems (reserveItems 可以为 null)。在此之后,我必须使用名称长度和值 687 进行添加。
{
"items" :[
{
"id" : 1,
"name" : "Item1",
"bool" : true,
"reserveItems": []
},
{
"id" : 2,
"name" : "Item2",
"bool" : false,
"reserveItem": []
}
],
"length" :687
}
从 JsonObjectBuilder 接口,你可以通过这种方式获取你的 JsonObject:
JsonObject value = Json.createObjectBuilder()
.add("items", Json.createArrayBuilder()
.add(Json.createObjectBuilder()
.add("id", 1)
.add("name", "Item1")
.add("bool", true)
.add("reserveItems", Json.createArrayBuilder())
)
.add(Json.createObjectBuilder()
.add("id", 2)
.add("name", "Item2")
.add("bool", false)
.add("reserveItems", Json.createArrayBuilder())
)
)
.add("length", 687)
.build();
System.out.println(value);