Python β Difference between json.dump() and json.dumps()
JSON is a lightweight data format for data interchange which can be easily read and written by humans, easily parsed and generated by machines. It is a complete language-independent text format. To work with JSON data, Python has a built-in package called json.
Note: For more information, refer to Working With JSON Data in Python
json.dumps()
json.dumps() method can convert a Python object into a JSON string.
Syntax: json.dumps(dict, indent)
Parameters:
- dictionary β name of dictionary which should be converted to JSON object.
- indent β defines the number of units for indentation
Example:
Python3
# Python program to convert # Python to JSON import json # Data to be written dictionary = { "id" : "04" , "name" : "sunil" , "department" : "HR" } # Serializing json json_object = json.dumps(dictionary, indent = 4 ) print (json_object) |
Output:
{ "department": "HR", "id": "04", "name": "sunil" }
Python objects and their equivalent conversion to JSON:
Python | JSON Equivalent |
---|---|
dict | object |
list, tuple | array |
str | string |
int, float | number |
True | true |
False | false |
None | null |
json.dump()
json.dump() method can be used for writing to JSON file.
Syntax: json.dump(dict, file_pointer)
Parameters:
- dictionary β name of dictionary which should be converted to JSON object.
- file pointer β pointer of the file opened in write or append mode.
Example:
Python3
# Python program to write JSON # to a file import json # Data to be written dictionary = { "name" : "sathiyajith" , "rollno" : 56 , "cgpa" : 8.6 , "phonenumber" : "9976770500" } with open ( "sample.json" , "w" ) as outfile: json.dump(dictionary, outfile) |
Output:
Let us see the differences in a tabular form -:
json.dump() | json.dumps() | |
1. | json.dump() method used to write Python serialized object as JSON formatted data into a file. | json.dumps() method is used to encodes any Python object into JSON formatted String. |
2. |
Its syntax is -: json.dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) |
Its syntax is -: json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) |
3. | It is used to perform compact encoding to save file space | It takes 7 parameters. |
4. | It is used to skip nonbasic types while JSON encoding | It can be used with Lists. |