将MYSQL结果集从JSP转换为Javascript数组

时间:2014-01-23 19:24:45

标签: javascript mysql arrays jsp

我正在尝试将在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} ] 

1 个答案:

答案 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>