New submission from Umar Asghar <mrumarasg...@gmail.com>:
Python does not preserve ordering in JSON format. I have tested it out but it's not working. Here is my code. # Python3 code to demonstrate # Sort nested dictionary by key # using OrderedDict() + sorted() from collections import OrderedDict from operator import getitem import json # initializing dictionary test_dict = {'Nikhil' : { 'roll' : 24, 'marks' : 17}, 'Akshat' : {'roll' : 54, 'marks' : 12}, 'Akash' : { 'roll' : 12, 'marks' : 15}} # printing original dict print("The original dictionary : " + str(test_dict)) # using OrderedDict() + sorted() # Sort nested dictionary by key res = OrderedDict(sorted(test_dict.items(), key = lambda x: getitem(x[1], 'marks'))) print("The sorted dictionary by marks is : " + str(res)) # Output # The sorted dictionary by marks is : OrderedDict([('Akshat', {'marks': 12, 'roll': 54}), ('Akash', {'marks': 15, 'roll': 12}), ('Nikhil', {'marks': 17, 'roll': 24})]) res = json.dumps(res) # print result print("The sorted dictionary by marks is : (json)") print(json.loads(res)) # Output # The sorted dictionary by marks is : # {'Akash': {'marks': 15, 'roll': 12}, 'Akshat': {'marks': 12, 'roll': 54}, 'Nikhil': {'marks': 17, 'roll': 24}} Does anyone suggest any solution for it? It's different than a simple dictionary. It only targets the nested dictionary ordering. Please don't mark it a duplication of simple dictionary ordering with JSON. thanks ---------- messages: 354228 nosy: Umar Asghar priority: normal severity: normal status: open title: Ordering a nested dictionary in python with json format _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue38414> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com