我应该如何从具有大量嵌套数组的json对象中循环/解析特定值?

时间:2015-12-22 00:15:09

标签: javascript php json

我需要操纵this JSON file中的数据。

我需要创建两个数组。一个包含日期列中的所有内容,另一个包含关闭列中的所有内容。

换句话说,从数据对象中的每个嵌套数组中,我需要拉出位置[0]的所有值以创建一个新数组,然后对位置[4]的所有值执行相同操作。 / p>

我使用以下方法将JSON文件保存到我的服务器:

file_put_contents("VIX.json", fopen("https://www.quandl.com/api/v3/datasets/YAHOO/INDEX_VIX.json?api_key=xxxx", 'r'));

这样做的最佳方法是什么? PHP还是Javascript?最终,这两个数组将用于创建Chart.js

我最初的想法是这样的:

date = new Array();
var i, data;
for (i = 0; i < dataset.data.length; i++)
{
  date.push(dataset.data[i].something[0]);
}

没有任何嵌套数组具有目前令我困惑的名称。这就是我目前正在谷歌上搜索的内容。在这些备注中使用something作为占位符。任何指针都赞赏。

1 个答案:

答案 0 :(得分:0)

在Javascript中

var date = [];
var list = json.dataset.data;
for(i in list)
   date.push(list[i][0]);
PHP中的

你可以试试这个

解码json以便能够在php中获取对象 要浏览php对象,使用的运算符是 - &gt; 一旦你到达真正的阵地集, 阅读它由foreach

<?php

$o = file_get_contents("VIX.json");
$o = json_decode($o);

$date = [];
$list = $o->dataset->data;
foreach($list as $set)
{
    $date[] = $set[0];
    //printf("x: %f, y: %f, z: %f\n", $pos[1], $pos[2], $pos[3]);
}