用javascript将java列表转换为数组

Converting java list to array in javascript

本文关键字:转换 数组 列表 java javascript      更新时间:2023-09-26

Hello,我试图从spring控制器发送一个对象列表,并在jsp的javascript中使用该列表来制作图表。既然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]
    }]     
}

非常感谢:)

我推荐这种方式->Java列表到JSON(这里有一个很好的库)

https://github.com/google/gson

这是的样本代码

List<SomeObject> objList = new ArrayList<SomeObject>();
objList.add(new SomeObject());
//make json string
new Gson().toJson( objList );

在这里找到了一些可以轻松导入的库

我的代码有点像

我的控制器

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
}