【问题标题】:Is possible this json output as array in jquery?这个json输出可能是jquery中的数组吗?
【发布时间】:2014-02-22 19:11:15
【问题描述】:

我有一个在数据库中搜索的 php 文件,然后用结果构建和数组,它结束并显示如下结果:

{"1":"1","2":"2","15":"15","25":"25"}

这意味着在位置 0 没有结果,位置 1 的值为 1,依此类推。 (据我所知/知道这个结果是一个有效的 json 输出)

在 jquery 方面我有这个

     $.ajax({
        type: 'POST',
        url: 'diahoracierre.php',
        dataType: 'json',
        cache: false,
        success: function(result) {
            alert(result);
        },
    });

我需要将结果“解析”到一个数组,并能够使用数组的索引来播放哪些内容,比如

alert(result[X]);

在结果[1] 上显示 1,任何其他尝试显示未定义并且至少有 4 个结果。

【问题讨论】:

标签: php jquery mysql json


【解决方案1】:

您有两个选择,要么循环遍历结果并自己创建一个数组(一项繁琐的任务),要么访问如下元素,请注意索引周围的引号是必需的,因为这里虽然我们说的是索引,但实际上我们正在寻找键名。

result["index"]

例如

result["5"]

我也试过你的jsFiddle 并且成功了:

var json = '{"0":"-1","1":"1","2":"2","15":"15","3":"-1","25":"25","4":"-1","5":"-1","6":"-1","7":"-1","8":"-","9":"-1","10":"-1","11":"-1","12":"-1","13":"-1","14":"-1","16":"-1","17":"-1","18":"-1","19":"-1","20":"-1","21":"-1","22":"-1","23":"-1","24":"-1","26":"-1"}';
json = JSON.parse(json);
alert(json["25"]);

【讨论】:

    【解决方案2】:

    由于您使用过dataType: 'json'。然后不再需要您解析 json 结果。

    还要注意你的参数在成功函数中被命名为result。所以你可以使用:

    alert(result[1]);
    

    代替:

    alert(myArray[1]);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-16
      • 1970-01-01
      • 1970-01-01
      • 2018-11-06
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-12
      相关资源
      最近更新 更多