Я сортирую свои данные в запросе 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
поле.