// If you want to stick with the object key sorting, even it being not really trustable, simply remove the '0' in the beginning of each numeric key in your JSON string (if this don't causes any kind of trouble in your context)
let obj1 = JSON.parse(`{"01":"January","02":"February","03":"March","04":"April","05":"May","06":"June","07":"July ","08":"August","09":"September","10":"October","11":"November","12":"December"}`.replace(/"0/g,'"'));
console.log(obj1);
/* Output:
{
"1": "January",
"2": "February",
"3": "March",
"4": "April",
"5": "May",
"6": "June",
"7": "July ",
"8": "August",
"9": "September",
"10": "October",
"11": "November",
"12": "December"
}
*/
// Using array to mantain the desired element sort, using the received object as it comes from your PHP server
let obj2 = JSON.parse(`{"01":"January","02":"February","03":"March","04":"April","05":"May","06":"June","07":"July ","08":"August","09":"September","10":"October","11":"November","12":"December"}`);
let monthList = Array(12).fill(0).map( (m, i) => obj2[`${i+1}`.padStart(2,'0')]);
console.log(monthList);
/* Output:
[
"January",
"February",
"March",
"April",
"May",
"June",
"July ",
"August",
"September",
"October",
"November",
"December"
]
*/