我在sql查询中对数据进行排序,然后对数据进行json_encode。它给了我类似的东西。
{
"9535": {
"id_contrat": "9535","statut_contrat": "A","etat_contrat": "B","num_publication": "1299-6793"
},"1621723": {
"id_contrat": "1621723","statut_contrat": "N","etat_contrat": "A","num_publication": "1299-6793"
}
}
问题是当我使用$.parseJSON
时,它会像这样对数据进行排序。
9535: {id_contrat: "9535",statut_contrat: "A",etat_contrat: "B",num_publication: "1299-6793"}
1621723: {id_contrat: "1621723",statut_contrat: "N",etat_contrat: "A",num_publication: "1299-6793"}
我想在$.parseJSON
之前保持相同的顺序,因为我用数据值构建了一个选择选项,并且第一个选项必须是1621723而不是9535,因为我在该选项的第一个元素上使用了控件
我当前的功能:
function setContractField(msg)
{
var option = '';
var idContrat;
var statutContrat;
var etatContrat;
var numPublication;
console.log(msg);
console.log($.parseJSON(msg));
$.each($.parseJSON(msg),function(index,value) {
$.each(value,function(key,value) {
if(key == 'id_contrat') {
idContrat = value;
}
if(key == 'statut_contrat') {
statutContrat = value;
}
if(key == 'etat_contrat') {
etatContrat = value;
}
if(key == 'num_publication') {
numPublication = value;
}
});
option += '<option status="'+ statutContrat + '" etat="'+ etatContrat + '" value="'+ idContrat + '">' + idContrat + '</option>';
});
return option;
}
我在互联网上看到我必须使用parseJson结果构建一个数组,但我不知道如何。
这两个对象必须在etat_contrat
字段上按字母顺序排序。