As per official JSON website, JSON is a light-weight data interchange format. It is easy for humans to read and write.
It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999.
In this small article we will see how to validate and format the JSON string using python.
import json json_string = '{"first_name": "Anurag", "last_name":"Rana", "key3": {"key1":"key2"}}' try: parsed_json = json.loads(json_string) print(json.dumps(parsed_json, indent = 4,sort_keys=False)) except Exception as e: print(repr(e))
output:
rana@Brahma: scripts$ python3 jsonParse.py { "first_name": "Anurag", "last_name": "Rana", "key3": { "key1": "key2" } } rana@Brahma: scripts$
Parameter indent decides the number of spaces to use for indentation.
Parameter sort_keys
decides whether the keys in formatted JSON should be in sorted order or not. Default value is False.
{"a": "b","c": "d","e": ["f","g","h"]}
Now use this piece of code to format the json file.
import json json_string = None with open("json_file.json") as f: json_string = f.read() try: parsed_json = json.loads(json_string) formatted_json = json.dumps(parsed_json, indent = 4,sort_keys=True) with open("json_file.json","w") as f: f.write(formatted_json) except Exception as e: print(repr(e))
import json json_string = '{"first_name": "Anurag" "last_name":"Rana", "key3": {"key1":"key2"}}' try: parsed_json = json.loads(json_string) print(json.dumps(parsed_json, indent = 4,sort_keys=True)) except Exception as e: print(repr(e))
output:
JSONDecodeError("Expecting ',' delimiter: line 1 column 25 (char 24)",)
echo '{"first_name": "Anurag", "last_name": "rana"}' | python -m json.tool
output:
{ "first_name": "Anurag", "last_name": "rana" }
You can add this crome app to your browser to validate and beautify the JSON strings.