我想打造的方式一個JSON:如何使用Java序列化一個方便的子JSON與子集合?
{"total":1,"rows":[{"id":1,"name":"Chai","price":18.00}],"footer":[{"name":"Total","price":18.00}]}
,獲得這一實例來自:http://www.jeasyui.com/tutorial/datagrid/datagrid17.php
這是強制性的,我有一個「總」屬性與某個值,並且「行」財產與集合引用它,就像上面的例子。
考慮到對於「rows」屬性,實際上我有一組java對象,在List<Properties>
集合中,有「id」,「name」和「price」的值對。
注意:我使用GSon(https://sites.google.com/site/gson/gson-user-guide)將一組屬性串聯起來,但我沒有實現爲該UI正確生成有效的json。
代碼:
Collection<Atividade> listProducts = storeService.getListPaged(category, rows, page);
long qty = storeService.getTotal(category);
List<Properties> lp = new LinkedList<Properties>();
for (Item i : listProducts) {
Properties prop = new Properties();
prop.setProperty("id", Long.toString(i.getId()));
prop.setProperty("name", i.getName());
prop.setProperty("price", i.getPrice);
lp.add(prop);
}
Object[][] array = {
{"total",qty},
{"rows", lp}
};
Gson gson = new GsonBuilder().setDateFormat("dd-MM-yyyy")
.setPrettyPrinting().create();
gList = gson.toJson(array);
此代碼從上面產生的,而不是下列結果:
[
[
"total",
1
],
[
"rows",
[
{
"id": "1",
"name": "Chai",
"price": "18.00",
},
]
]
]
謝謝!
什麼問題? –
我不知道如何創建一組屬性,其中已存在的屬性列表將被轉換爲有效的Json,以便實現UI所需的格式。我試圖用數組來做,但是生成的Json是用錯誤的方括號生成的,我懷疑是不是在界面對象中正確呈現。 – Alex
如果你展示你已經嘗試過的東西,人們會比從頭開始爲你設計一個答案更願意幫忙。 – pennstatephil