Last Updated : 12 Feb, 2019
Let's see the different ways to sort the JSON data using Python.
What is JSON ?JSON (JavaScript Object Notation) is a lightweight, text-based, language-independent data exchange format that is easy for humans and machines to read and write. JSON can represent two structured types: objects and arrays. An object is an unordered collection of zero or more name/value pairs. An array is an ordered sequence of zero or more values. The values can be strings, numbers, booleans, null, and these two structured types. The task is to sort the JSON first by
code, then by
gradeand then by
enrollment_no.
Code #1:Sorting in Desc order
Python3 1==
# Python code to demonstrate sorting in JSON.
import json
data='''{
"Student":[
{
"enrollment_no":"9915103000",
"name":"JIIT",
"subject":[
{
"code":"DBMS",
"grade":"C"
}
]
},
{
"enrollment_no":"8815103057",
"name":"JSS",
"subject":[
{
"code":"COA",
"grade":"A"
},
{
"code":"CN",
"grade":"A+"
}
]
}
]
}'''
# Parsing Json object
json_parse = json.loads(data)
# iterating
for it in json_parse['Student']:
for y in it['subject']:
print(y['code'],y['grade'],it['enrollment_no'],it['name'])
Output :
DBMS C 9915103000 JIIT COA A 8815103057 JSS CN A+ 8815103057 JSSCode #2 :
By using External library such as Pandas (Sorting in Ascending order).
Python3
from pandas.io.json import json_normalize
df = json_normalize(json_parse['Student'],
'subject',
['enrollment_no', 'name'])
df.sort_values(['code', 'grade', 'enrollment_no']).reset_index(drop=True)
Output:
code grade enrollment_no name 0 CN A+ 8815103057 JSS 1 COA A 8815103057 JSS 2 DBMS C 9915103000 JIIT
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4