在Oracle.com上提供以下示例代码来将对象添加到JsonArray中。
JsonArray value = Json.createArrayBuilder()
.add(Json.createObjectBuilder()
.add("type", "home")
.add("number", "212 555-1234"))
.add(Json.createObjectBuilder()
.add("type", "fax")
.add("number", "646 555-4567"))
.build();
实际上,我有一个Servlet,它会从数据库中读取数据,根据检索到的行数,将数据作为JsonObject添加到JsonArray中。为此,我能想到的方法就是使用循环将JsonObject添加到JsonArray中,但这种方法行不通。这就是我所做的。
//Not working
JsonArray jarr = Json.createArrayBuilder()
for (int i = 0; i < posts[i]; i++)
{
.add(Json.createObjectBuilder()
.add("post", posts[i])
.add("id", ids[i]))
}
.build();
这是我第一次使用Java Json API。怎样才是向JsonArray动态添加对象的正确方法?
for
循环肯定不是一个对象,你不能在其上调用build
。你应该在迭代结束时在jarr
上调用build
。另外,i < posts[i]
可能没有任何意义。 - plalx