2012-11-15 91 views
1

我想在Java的下JSON代碼生成:生成JSON在JAVA

{ 
    "rowsPerPage": 10, 
    "page": 1, 
    "total": 100,  
    "rows": [ 
      { 
       "id": 1, 
       "name": "name1" 
      }, 
      { 
       "id": 2, 
       "name": "name2" 
      }, 
      { 
       "id": 3, 
       "name": "name3" 
      } 
     ] 
} 

我知道如何生成rowsPerPage,頁面總,但我不知道該怎麼生成行?

  ModelMap modelMap = new ModelMap(); 
      modelMap.put("rowsPerPage", 10); 
      modelMap.put("page", 1); 
      modelMap.put("total", 100); 
+0

看起來像一個數組給我嗎? – njzk2

+3

先接受一些答案。 – Azodious

+0

是的,它看起來像數組,但怎麼做? – faszynski

回答

0

本質上講,你想是這樣的:

ModelMap [] rowMap = new ModelMap()[3]; 
for (int i=0;i<3;i++) 
{ 
    ModelMap this_row=new ModelMap(); 
    this_row.put("id",i); 
    this_row.put("name","name"+i); 
    rowMap(i)=this_row; 
} 
modelMap.put("rows",rowMap); 

這可能需要進行調整,以滿足您的需求,但它至少應該告訴你如何做到這一點。

+0

我的第一行有錯誤表達式的類型必須是數組類型,但它解析爲ModelMap – faszynski

0

把每行的內容在地圖

for(Row row :rows){ 
    HashMap map = new HashMap(); 
    map.put("id",row.getId()); 
    map.put("name",row.getName()); 
    jsonObj.append("rows", map); 
    }