jQuery:将 JSON 解析为元素数组

标签 jquery arrays json

我有以下代码,其中第一部分在触发下拉选择后从 PHP 获取 JSON。结果被放置在一个名为“results”的 div 中,只是为了验证它是否有效。到目前为止,一切看起来都很好。我还有几行代码来解析 JSON,并在一系列警报中显示各个元素,同样,只是为了验证它到目前为止是否正常运行,它确实做到了。然而,在此之后,我尝试以与创建警报类似的方式解析 JSON,仅将各个结果放在单独的数组中。我进行了一项检查,以在执行 $.each 时提醒结果,以便我可以查看代码块是否正常运行。然而,它不起作用。我猜测也许我的括号设置不正确,或者我可能需要在某处声明另一个函数。谁能建议可能是什么问题?

感谢您的帮助。

$(document).ready(function() {

    $('#routesDropDown').change(function() {   
        var queryParam = 'routesStations=' +$(this).val();
        $.post('getstations.php', queryParam, processResponse);

    });

    function processResponse(data) {
    $('#results').html(data);   

// parse the data and store in variable, "obj"
var obj  = jQuery.parseJSON( data );
// iterate through each value in the "obj" variable
$.each(obj, function(key, value) {
    alert(value.color + ' ' + value.abbr + ' ' + value.lat + ' ' + value.lng);
});

        //THIS IS THE PART THAT DOES NOT WORK...
    var obj = jQuery.parseJSON( data ) {
        var color = [];
        var abbr = [];
        var lat = [];
        var lng = [];
        $.each(obj, function(value) {
            color.push(value.color);
            abbr.push(value.abbr);
            lat.push(value.lat);
            lng.push(value.lng);
            alert(value.color + ' ' + value.abbr + ' ' + value.lat + ' ' + value.lng);      
    })};

});

最佳答案

对我来说,jquery 的 secret 是选择器...

我会在 $.each() 函数之前执行一个快速的“alert(data)”,只是为了确保您得到了您认为得到的结果...

关于jQuery:将 JSON 解析为元素数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11733034/

相关文章:

javascript - 使用jquery过滤下拉列表中的多个值

Java从文件中读取内容到ArrayList(对象)

c++ - 如何创建一个数组来保存要在模板函数中迭代使用的 C++ 类(而非实例)

arrays - 如何快速解析字符串数组?

javascript - 我的 JQuery 数据表有错误。 JQuery Datatable 在本地环境中工作正常,但在托管环境中却出现错误

javascript - jQuery `this` 范围问题

ajax - Spring框架从3.0.2升级到3.2.0时Spring JSON出现问题

node.js - 如何发送到亚马逊的Alexa Event Gateway?

php - 使用 AJAX 的表单复选框始终在 php 中显示为 ON

python - 一维数组形状 (length,) vs. (length,1) vs. (length)