我开始和json合作,需要一些帮助来解决这个问题。
我有一个pojo
public class HiReceiptsObj{
private string warehouse_id;
private String owner_id;
private String receipt;
.....// all with Getters and setters
}
我调用一个java方法,我加载一个像这样的收据的ArrayList
List<HiReceiptsObj> receipts = new ArrayList<HiReceiptsObj>();
然后我使用gson将ArrayList转换为json
String receiptsJson = new Gson().toJson(receipts);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(receiptsJson);
这将输出
[{"warehouse_id":"US01","owner_id":"NP ","receipt":"INV"},
{"warehouse_id":"US01","owner_id":"NP ","receipt":"082212-3047 "},
{"warehouse_id":"US01","owner_id":"NP ","receipt":"INVADJUST"}]
我需要这种输出
{
"total_pages": 10,
"rows": [
{"warehouse_id":"US01","owner_id":"NP ","receipt":"INV"},
{"warehouse_id":"US01","owner_id":"NP ","receipt":"082212-3047 "},
{"warehouse_id":"US01","owner_id":"NP ","receipt":"INVADJUST"}
]
}
我已经阅读过有关此事的其他帖子,但它们对我来说太先进了,有人可以帮忙吗?
由于
答案 0 :(得分:0)
1)您还应该有一个持有人课程:
public class ReceiptHolder {
@SerializedName("total_pages")
private int totalPages;
private List<HiReceiptsObj> rows;
// TODO: add getter / setters
}
2)创建receiptHolder
实例并填写它:
List<HiReceiptsObj> receipts = new ArrayList<HiReceiptsObj>();
ReceiptHolder receiptHolder = new ReceiptHolder();
receiptHolder.setRows(receipts);
receiptHolder.setTotalPages(receipts.size());
3)序列化receiptHolder
:
String receiptsJson = new Gson().toJson(receiptHolder );
根据需要输出:
{
"total_pages": 10,
"rows": [
{
"warehouse_id": "US01",
"owner_id": "NP ",
"receipt": "INV"
},
{
"warehouse_id": "US01",
"owner_id": "NP ",
"receipt": "082212-3047 "
},
{
"warehouse_id": "US01",
"owner_id": "NP ",
"receipt": "INVADJUST"
}
]
}