【问题标题】:Issues trying to fetch data from PHP JSON multidimensional array with JQuery尝试使用 JQuery 从 PHP JSON 多维数组中获取数据的问题
【发布时间】:2012-01-28 03:11:13
【问题描述】:

我有一个多维数组,当在 PHP 中回显时,它看起来像这样:

{
    "11-12-20":{"visits":0,"pageviews":0}
    "11-12-21":{"visits":0,"pageviews":0}
    "11-12-22":{"visits":0,"pageviews":0}
}// etc.

如您所见,日期是多维数组中数组的关键。所以我可以使用日期作为键从多维数组中选择一个数组:

$my_multi_array['12-12-12'];

JSON:

$.getJSON('file.php', function(data){
    var test='11-12-29';
    document.write(data.test);
});

当我在浏览器中测试时,屏幕上没有打印任何内容。另外,我将如何在 jQuery 中遍历整个数组并使用该数组数组中的数据。

我已经做了好几个小时了,我很沮丧。

【问题讨论】:

  • 可以否决投票者请解释一下?

标签: php jquery json multidimensional-array


【解决方案1】:

您回显的 PHP 输出不是一个数组,它是一个没有逗号分隔符的 JSON 对象,这意味着它的格式不正确。

如果您更正语法,您可以通过索引符号 ([]) 访问数据中的对象,而不是点运算符 (.)。所以不要像data.test那样访问data,你应该试试data[test]

假设您将 JSON 对象命名为 myJson,您可以按照以下方式进行迭代:

var myJson = {
    "11-12-20":{"visits":0,"pageviews":0},
    "11-12-21":{"visits":0,"pageviews":0},
    "11-12-22":{"visits":0,"pageviews":0}
}

for (var item in myJson)
{
    alert(myJson[item].visits + ", " + myJson[item].pageviews);
}

【讨论】:

    【解决方案2】:

    使用data[test]。您的data.test 等于data["test"],并且您的对象中没有“测试”属性。

    【讨论】:

      猜你喜欢
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 2016-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 2019-11-04
      相关资源
      最近更新 更多