Sort a JSON using Python -


i trying ot sort json object using python.

i have following object :

{    "text": "hello world",   "predictions":     [      {"class": "class 1", "percentage": 4.63},      {"class": "class 2", "percentage": 74.68},      {"class": "class 3", "percentage": 9.38},      {"class": "class 4", "percentage": 5.78},      {"class": "class 5", "percentage": 5.53}    ] } 

and want have object instead :

{    "text": "hello world",   "predictions":     [      {"class": "class 2", "percentage": 74.68},      {"class": "class 3", "percentage": 9.38},      {"class": "class 4", "percentage": 5.78},      {"class": "class 5", "percentage": 5.53},      {"class": "class 1", "percentage": 4.63}    ] } 

in fact, want order array of objects percentage.

i have tried command :

sorted_obj = sorted(json_obj['predictions'], key=lambda k: k['percentage'], reverse=true) 

and had error :

traceback (most recent call last):   file "<stdin>", line 1, in <module> typeerror: string indices must integers 

any needed,

thanks

you can use sorted sort values, :

json_obj = {    "text": "hello world",   "predictions":     [      {"class": "class 1", "percentage": 4.63},      {"class": "class 2", "percentage": 74.68},      {"class": "class 3", "percentage": 9.38},      {"class": "class 4", "percentage": 5.78},      {"class": "class 5", "percentage": 5.53}    ] }  sorted_obj = dict(json_obj)  sorted_obj['predictions'] = sorted(json_obj['predictions'], key=lambda x : x['percentage'], reverse=true)  print(sorted_obj) print(json_obj) 

this result in :

# sorted values based on 'predictions' -> 'percentage' {'predictions': [{'percentage': 74.68, 'class': 'class 2'}, {'percentage': 9.38, 'class': 'class 3'}, {'percentage': 5.78, 'class': 'class 4'}, {'percentage': 5.53, 'class': 'class 5'}, {'percentage': 4.63, 'class': 'class 1'}], 'text': 'hello world'}  # original json_obj remain unchanged have created new object sorted_obj values of json_obj using dict() {'text': 'hello world', 'predictions': [{'class': 'class 1', 'percentage': 4.63}, {'class': 'class 2', 'percentage': 74.68}, {'class': 'class 3', 'percentage': 9.38}, {'class': 'class 4', 'percentage': 5.78}, {'class': 'class 5', 'percentage': 5.53}]} 

Comments

Popular posts from this blog

commonjs - How to write a typescript definition file for a node module that exports a function? -

openid - Okta: Failed to get authorization code through API call -

ios - Change Storyboard View using Seague -