我从控制器到jsp页面得到一个排序列表。我想在javascript中处理这个。
var foo = '${entityTypes}';
当我尝试使用for进行循环并读取值时。但是,它会读取可用字符串的每个字符。我尝试过json parse和stringify,但我仍然得到相同的结果。
var foo = '${entityTypes}';
alert(foo);
var str = JSON.stringify(foo);
var obj1 = JSON.parse(str);
alert(obj1);
for (var k in obj1) {
if (obj1.hasOwnProperty(k)) {
alert("Key is " + k + ", value is " + obj1[k]);
}
}
答案 0 :(得分:0)
由于Java-List未自动转换为JSON格式,因此foo
的值为entityList.toString()
。您需要做的是,将您自己的Java-List转换为JSON格式
但转换控制器中的entityList
要便宜得多。例如,gson或jackson是一些很好的Java库,可以进行实体到JSON的转换。
答案 1 :(得分:0)
我设法完成了这项工作。我发现它是VeXii评论的字符串。谢谢Vexxi。由于它是一个字符串,我使用substr删除不需要的字符。
str = foo.substr(0, foo.length-1);
obj = str.substr(1);
这删除了第一个和最后一个字符。这意味着方括号打开和关闭。
然后我使用split方法获取我想要的字符串。我仍然有一个问题,因为我的字符串带有一个冒号作为最后一个字符。我再次使用可用的弹簧方法移除了结肠。
var arr = obj.split(',');
感谢您的评论。这帮我解决了这个问题。