我正在尝试将在Java Server Page(.jsp)中编写的MySQL结果集转换为我可以绘制的Javascript数组。
我当前的MYSQL结果集在Web浏览器中返回:
我想在Javascript中返回此内容。它必须采用这种格式,因此我可以使用d3或Highcharts绘制图形:
var ValueArray = [ {x:0, y:110}, {x:15, y:113}, {x:30, y:90} ]
运行我的MYSQL查询后,我使用以下java服务器标签创建一个表...
<script>
var ValueArray= [
<c:forEach var="row" items="${meanvalue.rowsByIndex}">
<c:forEach var="column" items="${row}">,
{<c:out value= "${column}"/>}
</c:forEach>
</c:forEach>
]
</script>
这是生成的相应HTML代码,是我的MYSQL查询的当前输出:
<table border="1" id = "meanvalue">
<!-- column headers -->
<tr>
<th>timestamp</th>
<th>Value</th>
<tr>
<td> 0</td>
<td> 110</td>
</tr>
<tr>
<td> 15 </td>
<td> 113</td>
</tr>
<tr>
<td> 30</td>
<td> 90</td>
</tr>
我搜索了stackoverflow并找到了类似的问题,但没有一个具有我正在寻找的格式约束;将原始数组数组转换为格式为
的.js数组 var Array = [{x: val1, y: val2}, {x: val3, y: val4} ]
答案 0 :(得分:0)
您似乎需要编辑foreach语句。类似于以下内容
<c:forEach var="row" items="${meanvalue.rowsByIndex}">
{ // <-- begin the object
<c:forEach var="column" items="${row}" varStatus="status">,
${status.index} : <c:out value= "${column}"/>
</c:forEach>
} // <-- end the object
</c:forEach>