我有一个方法应该返回带有Response
(带有arraylist)的JsonObject
,就像本文的bottem中的代码一样。这是一个java @GET
方法。我知道如何使用jsonobject
构建json.createObjectBuilder
,如:
JsonObject jo = Json.createObjectBuilder().add("name", "item").add("user", user.getUser()).build();
但我不知道如何构建如下代码。 所以我必须使用名称“items”进行添加,这是一个arraylist。每个项目都有四个属性: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
}
答案 0 :(得分:1)
从JsonObjectBuilder interface,您可以通过以下方式获取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);