javax.json - 使用数组列表和一个单独的属性构建 JsonObject
javax.json - Build JsonObject with arraylist and one separated attribute
我有一个方法应该 return a Response
with a JsonObject
(with arraylist) 与本文底部的代码完全一样。这是一个 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 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);
我有一个方法应该 return a Response
with a JsonObject
(with arraylist) 与本文底部的代码完全一样。这是一个 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 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);