如何从数据库中获取JSON数据?

时间:2016-11-27 20:18:21

标签: javascript json csv pull

我已经准备好了一个JavaScript可视化代码,可视化工作通过简单的HTTP服务器,因为所有必要的数据都在一个文件夹中。但是,如果需要从数据库(现在是JSON文件)获取数据输入,我无法使其工作。

我已将以下示例数据(csv文件)加载到teradata数据库中。

|x1. . . . . |y1. . . . .|z1. . . . . |x2. . . . . |y2. . . . .|z2. . . . . |
|-0.858927763|0.121607854|-0.067815693|-0.100387679|0.142522011|-0.085021698|
|0.759678102 |1.670849337|0.389506443 |-0.841098362|0.745253687| 0.07724956 |   
|1.617835159 |0.671663712|0.676541754 |-0.086900337|1.162505997| 0.822100957|
|1.878302821 |0.985942302|1.756579077 |-0.418153016|2.471764891| 0.234493023|

Sample Data

teradata工具的文档声明,要访问数据,index.html代码必须使用以下消息处理程序:

$(window).on('message', handler)

可以使用以下方法在处理程序内访问数据:

event.originalEvent.data

在我的本地服务器中,从csv获取数据的JavaScript代码如下所示:

<script>
    Plotly.d3.csv('3d-scatter.csv', function(err, rows){
  function unpack(rows, key) {
      return rows.map(function(row) 
      { return row[key]; });
  }
</script>

我只是想知道我应该使用什么代码来获取和转换从event.originalEvent中提取的JSON数据(之前的#3d; scatter.csv&#39;,现在是数据库中的JSON数据) .data处理程序。

我发现包含数据的处理程序。

在&#39;消息&#39;事件处理程序:可以在此路径中找到数据(.handler.elem.visJson.data)

所以当我调用visJson.data时,控制台会输出一个数组。

1 个答案:

答案 0 :(得分:1)

您可以使用浏览器Fetch APIfetch()全局函数可以从网络获取资源,返回HTTP响应的Promise

像这样使用:

fetch("http://host/endpoint.json")
  .then(res => res.json())
  .then(data => {
    // data is an array of object, 
    // iterate over it and create an in-memory CSV
    // or verify if Plotly.d3 can be fed directly this array
  })