使用jQuery循环JSON数据

时间:2014-02-11 02:34:21

标签: jquery json

我在Coldfusion工作,但在这种情况下,它应该没关系。

我正在检索一些json格式的数据(见下文),我只需要名称(它是自动填充表单字段)。我需要其他数据,这就是为什么它被包含在这里,但如果我能得到帮助提取名称,我想我可以在表格中管理其他信息。

我遇到的问题是我的自动完成没有填充从json数据返回的名称值。我知道它与我引用值的方式有关,但我不知道故障的位置。

这就是我在成功函数中所拥有的:

var options = '';
    for (var i = 0; i < j.features.length; i++){
        options += '<option value="' + j.features[i].attributes.name + '">' + j.features[i].attributes.name+ '</option>';
        }

这就是我在控制台日志窗口中看到的 - json格式化数据 -

    {
    "displayFieldName": "name",
    "fieldAliases": {
        "name": "name"
    },
    "geometryType": "esriGeometryPoint",
    "spatialReference": {
        "wkid": 102100
    },
    "fields": [
        {
            "name": "name",
            "type": "esriFieldTypeString",
            "alias": "name",
            "length": 150
        }
    ],
    "features": [
        {
            "attributes": {
                "name": "Sheltering A"
            },
            "geometry": {
                "x": -8614890.23598794,
                "y": 4526897.651595688
            }
        },
        {
            "attributes": {
                "name": "Sheltering L"
            },
            "geometry": {
                "x": -8644978.888800403,
                "y": 4504316.305944032
            }
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

试试这个,

在此数据中包含字典数组,在这种情况下,我使用data[0]您可以使用data.length查找长度,然后获取data[i]

Jsfiddle

data = [{
    "displayFieldName": "name",
    "fieldAliases": {
        "name": "name"
    },
    "geometryType": "esriGeometryPoint",
    "spatialReference": {
        "wkid": 102100
    },
    "fields": [
        {
            "name": "name",
            "type": "esriFieldTypeString",
            "alias": "name",
            "length": 150
        }
    ],
    "features": [
        {
            "attributes": {
                "name": "Sheltering A"
            },
            "geometry": {
                "x": -8614890.23598794,
                "y": 4526897.651595688
            }
        },
        {
            "attributes": {
                "name": "Sheltering L"
            },
            "geometry": {
                "x": -8644978.888800403,
                "y": 4504316.305944032
            }
        }
    ]
}]

var options = '';
    for (var i = 0; i < data[0]['features'].length; i++){

        options += '<option value="' +data[0]['features'][i].attributes.name + '">' +data[0]['features'][i].attributes.name+ '</option>';
        }
alert(options)

<强>更新 http://jsfiddle.net/dhana36/6Y68N/1/