在JSON数据结果中访问钥匙值对



我不需要访问JSON数据,所以我有点困难。我已经使用JSON格式验证了数据,它是有效的,所以我知道这很好。

我要做的就是检索数据并填充一个选择框(特别是x-edeed)。

在示例中,他们提供:

$('#id').editable({
    source: [
        {value: 1, text: 'Male'},
        {value: 2, text: 'Female'}
    ]
});

是的,我可以将50个州扔到那里,但我想将这种方法用于我计划实施的其他选择框。

这是我目前从JSON调用中返回的数据馈送:

{
"data": [{
    "stateID": 1,
    "stateAbbr": "AL",
    "state": "Alabama"
}, {
    "stateID": 2,
    "stateAbbr": "AK",
    "state": "Alaska"
}, {
    "stateID": 3,
    "stateAbbr": "AZ",
    "state": "Arizona"
}, {
    "stateID": 51,
    "stateAbbr": "WY",
    "state": "Wyoming"
}]}    

我正在使用的功能片段是:

$.getJSON("test.html?format=json",function(data){
    statesArr = statesArr.concat(data);
});

理想情况下,我想让Statesarr看起来像这样:

source: [
        {value: 1, text: 'Alabama'},
        {value: 2, text: 'Alaska'},
        ...
        {value:50, text: 'Wyoming'}
    ]

,但我对从这里做什么感到沮丧。数据提要的格式是{"data使我失望。我习惯于获取X-Ededable正在寻找的数据。

我在这里假设resp是响应。RESP具有data属性。如果我误解了你,请告诉我。

var statesArr;
$.getJSON('test.html?format=json', function(resp){
    statesArr = resp.data.map(function(state){
        return {
            value: state.stateID,
            text: state.state
        }
    });
});
/* somewhere else later; make sure that statesArr is set */
$('#id').editable({
    source: statesArr
});

最新更新