在JSP中的脚本中返回JSON数组对象

时间:2019-01-23 07:49:57

标签: javascript json jsp

在JSP文件中,我有一个script标记,该标记尝试导入JSON格式的请求属性,并使用很少的选定字段从中创建一个对象。

<script type="text/javascript">

    attribute_meta= [];

    var attributeData  = <%=request.getAttribute("attributes")%>;
    for ( i = 0; i < attributeData.size(); i++) {
        attribute_meta.push({colName: attributeData[i].colName, Type: attributeData[i].type, Value: attributeData[i].value});
    }
    </script>

我也尝试过这些

var attributeData  = JSON.parse(<%=request.getAttribute("attributes")%>);

var attributeData  =  JSON.parse('${attributes}');

但是它仍然没有用。因为输出不是JSON。

该请求具有一个称为attributes的属性,该属性类似于

        [
           abc{
               colname=somename,
               type=int,
               value=2,
               field=xyz,
               somemorefields=asda
           }
           pqr{
               colname= asd,
               type= int,
               value= 22,
               field= xyz,
               some more fields =asda
           }
        ]

1 个答案:

答案 0 :(得分:-1)

如果属性列表可以尝试:

<script type="text/javascript">
    attribute_meta= [];

    <% for (int i=0; i<request.getAttribute("attributes").size(); i++) { %>
        attribute_meta.push({
            colName: "<%= request.getAttribute("attributes").get(i).getColName() %>",
            Type: "<%= request.getAttribute("attributes").get(i).getType() %>", 
            Value: "<%= request.getAttribute("attributes").get(i).getValue() %>"
        }); 
    <% } %>
</script>

或如果不更改.get(i)和.size()