【问题标题】:Converting java list to array in javascript在javascript中将java列表转换为数组
【发布时间】:2015-11-18 02:31:05
【问题描述】:

你好, 我正在尝试从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]
    }]     
}

非常感谢:)

【问题讨论】:

    标签: javascript java jsp


    【解决方案1】:

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

    https://github.com/google/gson

    这里是示例代码

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

    【讨论】:

    • 能否请您提及如何在 javascript 中使用该对象
    • var jsonString = '{"result":true,"count":1}'; var jsonObj =JSON.parse(json); console.log(jsonObj.result); console.log(jsonObj.count); 您可以访问任何属性和值,例如 javascript 对象。
    【解决方案2】:

    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
    }
    

    【讨论】:

      猜你喜欢
      • 2014-01-29
      • 2011-02-06
      • 2011-11-27
      • 2020-04-30
      • 2014-07-13
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多