I have a Postgres db where OrderedDict
has been saved as a string. I need to convert this string into json/dict so that it can be saved in a JSONField. How can I convert this string into dict?
String example -
OrderedDict([('order_id', 'xxxxxx'), ('tracking_id', 'xxxxxx'), ('bank_ref_no', 'xxxxx'), ('order_status', 'Success')])
I tried json.loads(string)
but it gives a decoding error. Any solution apart from manually parsing the string?
You can use eval
for this purpose.
from collections import OrderedDict
import json
x = "OrderedDict([('order_id', 'xxxxxx'), ('tracking_id', 'xxxxxx'), ('bank_ref_no', 'xxxxx'), ('order_status', 'Success')])"
#run string through eval and convert to dict
dct = dict(eval(x))
print(dct)
The output will be
{'order_id': 'xxxxxx', 'tracking_id': 'xxxxxx',
'bank_ref_no': 'xxxxx', 'order_status': 'Success'}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With