使用javax.json从Java Object到JSON String

时间:2015-06-25 13:19:14

标签: json java-ee java-ee-7

是否可以使用Java EE 7的List<MyClass>库从javax.json创建JSON字符串而无需迭代List<MyClass>

这就是我现在所做的,并且2000次迭代的性能是不可接受的。有什么建议吗?

List<MyClass> items = MyDB.getAllItems();
JsonObjectBuilder builder = Json.createObjectBuilder();
builder.add("success", true);
JsonArrayBuilder childrenArrayBuilder = Json.createArrayBuilder();

for (MyClass item : items) {
     childrenArrayBuilder.add(
        Json.createObjectBuilder()
            .add("id", getTreeNodeId(item) + "-" + (idSplit[1]))
            .add("nodeStatus", b)
            .add("text", item.getName())
            .add("leaf", false));
}

1 个答案:

答案 0 :(得分:0)

您在循环中创建了许多对象,这可能不是必需的。使用GSON并且MyClass仅包含您需要的内容,我将执行以下操作:

List<MyClass> list = MyDB.getAllItems();
GSON gson = new GSON();
String myString = gson.toJson(list);