javascript - 如何在 JSON.parse 语句中正确访问数据?

标签 javascript jquery json jqplot

我正在尝试使用通过 AJAX 调用返回的 JSON 数组。我想将这些数据放入 JQPlot 中以绘制图表。当我使用硬编码的虚拟数据时,我的图表绘制得很好。虚拟数据如下所示:

    var s1 = [200, 600, 700, 1000];
    var s2 = [460, -210, 690, 820];
    var s3 = [-260, -440, 320, 200];
    var ticks = ['May', 'June', 'July', 'August'];

我尝试使用自己的数据来自对“garray”的 ajax 调用,如下所示:

    var obj = JSON.stringify(garray);
    alert(obj);
    /*this displays the following:
    {"date":[["2015-05-29","2015-05-12","2015-04-30","2015-03-30","2015-02-27","2015-02-26"]],"close":[[0,3,1,1,0,0]],"high":[[1,3,2,1,0,1]],"low":[[0,-1,0,-1,-1,-1]]} */

obj = JSON.parse(obj);
s1 = obj["date"];
alert(s1);
//the alert above displays: 2015-05-29,2015-05-12,2015-04-30,2015-03-30,2015-02-27,2015-02-26

问题在于,这种分离在 JQPlot 中被解释为一个变量,而不是单独的日期。其他字符串也发生了完全相同的情况,所以我怀疑我没有正确处理它们?我需要使用不同的方法吗?

最佳答案

您拥有的每个字段(dateclose 等)实际上是一个数组的数组(注意双[[]] 位于开头和结尾处——数组只需要其中一个)。我的猜测是,您使用的 API 可以返回多组数据,而您只需要一组数据。

因此,您应该使用 obj["date"][0] (其他类似)

关于javascript - 如何在 JSON.parse 语句中正确访问数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31628344/

相关文章:

javascript - 将点击转换为悬停事件javascript

javascript - jQuery cart总结果

Java 休息 Jersey : Posting multiple types of data (File and JSON)

javascript - 如何使用ajax响应JSON数据?

JavaScript 导入 lit-element 在浏览器中出现 404 未找到错误

javascript - Div 闪烁 onmouseover,onmouseout

javascript - 在 iframe 中设置输入文本并提交

javascript - 为什么我的 JSON 不起作用

javascript - Chart.js "display:none"问题

jquery - 使用 ajax 时数据未显示在 Select2 上