У меня есть данные json, которые при распечатке не печатаются в том порядке, в котором я их установил.
#!/usr/bin/env python2.7
myjson = {
"timestamp": "2019-05-22T15:25:15.870Z",
"account_name": "BLah, Inc",
"alert_description": "Check Proc Num",
"alert_itemid": "N/A",
"alert_key": "N/A",
"alert_message": "Check Proc Num",
"alert_zabbix_url": "https://blah.com",
"alertcount": "1",
"alertid": "41009",
"checkcount": "13",
"current_state": "problem",
"groups": ["Linux_servers--2", "blah2" ],
"hostid": "10439",
"hostip": "blah",
"hostname": "blah",
"value": "N/A"
}
myjson['account_name'] = "NewBlah, Inc"
myjson['alert_description'] = "Disk Space"
Когда я запускаю приведенный выше код, я получаю это:
{'value': 'N/A', 'hostid': '10439', 'alertid': '41009', 'alert_key': 'N/A', 'timestamp': '2019-05-22T15:25:15.870Z', 'alert_zabbix_url': 'https://blah.com', 'current_state': 'problem', 'hostname': 'blah', 'alert_message': 'Check Proc Num', 'alertcount': '1', 'groups': ['Linux_servers--2', 'blah2'], 'hostip': 'blah', 'checkcount': '13', 'alert_description': 'Disk Space', 'account_name': 'NewBlah, Inc', 'alert_itemid': 'N/A'}
Проблема в том, что все эти данные не в порядке. Я ожидал, что данные будут выглядеть так (обратите внимание на временную метку):
{ "timestamp": "2019-05-22T15:25:15.870Z", "account_name": "BLah, Inc", "alert_description": "Check Proc Num", "alert_itemid": "N/A", "alert_key": "N/A", "alert_message": "Check Proc Num", "alert_zabbix_url": "https://blah.com", "alertcount": "1", "alertid": "41009", "checkcount": "13", "current_state": "problem", "groups": ["Linux_servers--2", "blah2" ], "hostid": "10439", "hostip": "blah", "hostname": "blah", "value": "N/A" }
Я хотел, чтобы метка времени была первой, поскольку я указывал ее в исходных данных, которые я установил в переменной myjson.
Я гуглил это, но не нашел рабочего решения. По причинам переносимости, я надеюсь решить эту проблему, используя только библиотеки / модули python по умолчанию.