Java JSONArrray在Javascript中迭代,提供“未定义”结果

时间:2017-07-15 07:45:03

标签: javascript java jsp servlets

我想使用javascript将Java servlet中的JSONArray迭代到JSP页面中。 这是我在servlet中的java代码,

JSONArray array = new JSONArray();
for (int t = 1; t < row; t++) {
                    JSONObject object = new JSONObject();
                    object.put("oid", "ghf");
                    object.put("cid", "fgh");
                    object.put("oid", "hf");
                    object.put("cid", "fir");
                    array.add(object);

在JSP中,

            var obj = '<%=array%>';
            var myJSON = JSON.stringify(obj);
            alert("myJSON = " + myJSON);
            for (var i = 0; i < myJSON.length; i++) {
                document.write('<h4>' + myJSON[i].cid + '</h4>');
            }

谢谢你的帮助。

输出

  

未定义

1 个答案:

答案 0 :(得分:1)

这可能会对你有所帮助。

首先,从会话范围获取JSON字符串并输出:

[{"oid":"hf","cid":"fir"},{"oid":"hf","cid":"fir"},{"oid":"hf","cid":"fir"}]

并将其转换为JSON对象,因为字符串和输出周围有双引号[]

[object Object],[object Object],[object Object]

最后,使用jquery遍历它。

<script>
   var obj = '${sessionScope.array}';
   var myJSON = JSON.parse(obj); // Convert JSON string to JavaScript object
   console.log("myJSON = " + myJSON);

   $.each(myJSON, function(index, element) {
     document.write('<h4>' + element.cid + '</h4>');
   });
</script>