Jquery getJSON自动按id对我的数据进行排序

gab*_*o84 14 sorting ajax jquery json getjson

我有一个组合框,在更改时触发jquery函数,它调用一个php脚本,它从数据库中按名称而不是id(表城市)排序,并创建一个带有id和城市名称的json文件.问题来自$ .getJSON(url,data)函数,它可以很好地检索所有json编码数据,但它似乎是通过id自动排序数据

例如,如果php页面生成

id  name
3   Dania Beach
1   Miami
2   Weston
Run Code Online (Sandbox Code Playgroud)

在jquery getJSON之后,它按id排序

id  name
1   Miami
2   Weston
3   Dania Beach
Run Code Online (Sandbox Code Playgroud)

有没有办法禁用排序?或者如何按名称保存订单?

Joe*_*der 13

这是一个关联数组:顺序无关紧要.以下JSON对象是等效的:

{
    "3" : "Danie Beach",
    "1" : "Miami",
    "2" : "Weston"
}

{
    "1" : "Miami",
    "2" : "Weston",
    "3" : "Danie Beach"
}
Run Code Online (Sandbox Code Playgroud)

如果您需要订购,则应该在JSON中嵌入一个数组:

{
    "beaches" : [
        {"key" : "3", "value" : "Danie Beach"},
        {"key" : "1", "value" : "Miami"},
        {"key" : "2", "value" : "Weston"}
    ]
}
Run Code Online (Sandbox Code Playgroud)

用法示例:

jQuery.ajax({
    ...
    dataType: 'json',
    success: function(data) {
        jQuery.each(data.beaches, function(i, beach) {
            alert(i+': beach['+beach.key+'] = '+beach.value);
        });
    }
});
Run Code Online (Sandbox Code Playgroud)