gpt4 book ai didi

javascript - 如何在javascript中解析JSON数组

转载 作者:行者123 更新时间:2023-11-29 20:05:23 25 4
gpt4 key购买 nike

我将 SQL 查询结果作为 JSONArray 返回到 JSP 页面。现在我想显示数据。我已经编写了一个代码,但如果 JSONArray 包含更多 23 个对象 eval 或 JSON.parse 函数不起作用,则它仅适用于 JSONArray 中的 23 个对象。请让我知道如何解决这个问题。

下面是我编写的用于迭代此 JSONArray 的 JS 代码。

var data = '<%=(JSONArray) request.getAttribute("resultArray")%>';
data = eval("(" + data + ")");
$(document).ready(function() {
var table = $('<table/>').appendTo($('#column'));

var rows = $('<tr/>').appendTo(table);
$.each(data, function(rowid, row) {
var rows = $('<tr/>').appendTo(table);
$.each(row, function(column, data) {
($('<td/>').text(data)).appendTo(rows);
})});
});

最佳答案

只是不要让 JSP 将其打印为引号内的 JS 字符串语法(显然需要对其进行解析才能获得 JS 对象)。去掉那些引号。 JSON 已经是正确的 JS 对象语法。这也是所有的"JSON"代表。

var data = <%=request.getAttribute("resultArray")%>;
$(document).ready(function() {
// ...
});

顺便说一下,在 JSP 中使用 scriptlet 是一个 poor practice .如果您已经在使用 JSP 2.0(已经推出将近十年),只需使用 EL .

var data = ${resultArray};
$(document).ready(function() {
// ...
});

注意,也在这里,只是不要引用它。否则它会变成 JS 字符串而不是 JS 对象。


与具体问题无关,绝对有必要在这里引入额外的JSON/jQuery步骤吗?为什么不直接使用例如 JSTL让 JSP 在服务器端生成所需的 HTML 而不是在客户端生成 JS/jQuery?

关于javascript - 如何在javascript中解析JSON数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12201583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com