2015-11-18 24 views
0

Helllo, 我想從spring控制器發送一個對象列表,並在jsp中使用該列表在javascript中創建圖表。 由於JavaScript將列表作爲一個字符串,任何人都可以建議我一個這樣做的適當方法。 我試着去使用這個列表才能把值圖表迭代...將java列表轉換爲javascript中的數組

List list=WebKinmelServiceManager.select("select i From Item i", Item.class);\ 
     mav.addObject("list", list); 

,我想在裏面以這種格式的javascript jsp頁面顯示..

$scope.data = { 
    series: ['Sales', 'Income', 'Expense'], 
    data : [{ 
     x : "Jack", 
     y: [100,210, 384], 
     tooltip:"this is tooltip" 
    }, 
    { 
     x : "John", 
     y: [300, 289, 456] 
    }, 
    { 
     x : "Stacy", 
     y: [351, 170, 255] 
    }, 
    { 
     x : "Luke", 
     y: [54, 341, 879] 
    }]  
} 

會真的很感謝:)

回答

0

Found some libraries here which can be easily imported

我的代碼去像

我的控制器

JSONArray series=new JSONArray(); 
      series.put("Quantitiy"); 
      series.put("Price"); 
     mav.addObject("series", series); 
     JSONArray array=new JSONArray(); 
     List list=WebKinmelServiceManager.select("select i From Item i", Item.class); 
     for (Object object : list) { 
      Item item=(Item) object; 
      JSONObject jsonObject=new JSONObject(); 
      jsonObject.put("x", item.getName()); 
       JSONArray array2=new JSONArray(); 
       array2.put(item.getQuantity()); 
       array2.put(item.getPrice()); 
      jsonObject.put("y", array2); 

      array.put(jsonObject); 
     } 
     mav.addObject("data", array); 

而且我的JavaScript就好像

var data=${data}; 
var series=${series} 
$scope.data = { 
    series: series, 
    data : data 
} 
3

我這樣 推薦 - > Java的列表,以JSON(這裏是好庫)

https://github.com/google/gson

這裏是示例代碼

List<SomeObject> objList = new ArrayList<SomeObject>(); 
objList.add(new SomeObject()); 

//make json string 
new Gson().toJson(objList); 
+0

請問如何在javascript中使用該對象 –

+0

'var jsonString ='{「result」:true,「count」:1}'; var jsonObj = JSON.parse(json);的console.log(jsonObj.result);的console.log(jsonObj.count); ' 你可以訪問任何屬性和值,就像一個JavaScript對象。 – Ray