如何将循环创建的 jsonObjects 放入 jsonArray 并在 jsonArray 中获取该响应?



这是正在创建的对象,如何将正在创建的这些对象放在数组中?

for (int i = 0; i < productsJSONArray.length(); i++) {
productOrder = new ProductOrder();
JSONObject productJSONObject = new JSONObject();
productJSONObject = productsJSONArray.getJSONObject(i);
String _productPostId = productJSONObject.getString("productPostId");
int productPostId = Integer.parseInt(_productPostId);
ProductPost productPost = new ProductPost();
productPost = productPostService.getProductPostByIdAndToken(productPostId, "ACTIVE");
if (productPost != null) {
productOrder.setProductPost(productPost);
}
productOrder.setUser(user);
productOrder.setToken("ACTIVE");
productOrder.setTransactionId(Long.toString(startTime));
productOrder.setUnit(productJSONObject.getString("unit"));
productOrder.setIceQty(Float.parseFloat(productJSONObject.getString("iceQty")));
productOrder.setQuantity(Float.parseFloat(productJSONObject.getString("quantity")));
PostStatus postStatus = postStatusService.getPostStatusById(Integer.parseInt(productJSONObject.getString("postStatusId")));
if (postStatus != null) {
productOrder.setPostStatus(postStatus);
}
productOrder = productOrderService.addProductOrder(productOrder);
}

我想把这些productOrder对象放在一个jsonArray中

使用 GSON 库将 productOrder 对象转换为 JSONObject,并将该 JSONObject 添加到 Jsonarray。

JSONArray array = new JSONArray();
//loop starts here
ProductOrder order  = new ProductOrder();
//logic to populate the order
String orderString =  new Gson().toJson(order);
JSONObject JSONObject = new JSONObject(orderString);
array.put(JSONObject);
//loop ends here

在您的情况下,数组将在循环外部初始化,并通过将其转换为 JSONObject 来将元素添加到循环中。

最新更新