爪哇.使用arraylist和一个单独的属性构建JsonObject



我有一个方法,它应该返回一个带有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);

相关内容

  • 没有找到相关文章

最新更新