JSON Data and Python
What is JSON?
JSON (JavaScript Object Notation) is a data-interchange notation, easy for humans to read and write. It is close to humans as well as easily understandable for computers to parse and generate. JavaScript programming language is the base of JSON. JSON is a text format that is language independent and usable in Python, Perl among other languages. Its primary use is to communicate data between a server and web applications. There are two structures of JSON:
- A group of name/value pairs, referring to an object, record, dictionary, hash table, keyed list, or associative array.
- An ordered list of values. Acts like an array, vector, list, or sequence.
Python and JSON
Python has a built-in library that supports JSON file and helps in encoding and decoding of data.
Import json
Serialization is the process of encoding JSON Data in any coding language. Serialization refers to transforming data into a series of bytes to be stored across a network. Similarly, deserialization is the process of decoding data that has been stored or distributed in the JSON standard.
Serialization
The process to convert JSON Data into Python is by using a built-in library function JSON.dump (). Here is the comparison table to data types, which helps translate data into Python.
Python | JSON |
Dict | Object |
List, tuple | Array |
Int, long, float | Number |
Str | String |
True, False | True, false |
None | null |
Here is an example with python code using JSON Data and library. data = { "president": { "name": "Donald Trump", "country": "United States of America" }
It is crucial to save this information to disk, so the user’s mission is to write it to a file.
Using Python's context manager, the user may create a file called data_file.json and open it in writeable mode. (JSON files conveniently end in a .JSON extension.) with open("data_file.json", "w") as write_file: json.dump(data, write_file)
In the above example, the file-like object is absent since it is not writing to the disk.
Keyword Arguments
Indent Keyword
The first option user wants to make amendments in is whitespace. Users may use the indent keyword to identify the indentation size for nested formats. Refer to the example below:
Separator Keyword
Separator keyword argument is another formatting option. It is a 2-tuple of the separator strings (", ", ": ") by default, but a mutual alternative for compact JSON is (",", ":"). >>> json.dumps(data) >>> json.dumps(data, indent=4)
De-serializing Python
Just like serialization, there is a conversion table for deserialization, which is vice-versa.
JSON | Python |
Object | Dict |
Array | List |
String | Str |
Number (int) | Int |
Number (real) | Float |
True / False | True / False |
null | None |
The concept is more like teleportation, as it refers to that if the user encodes an object now and later on, decode it, the efficiency of the result may not be 100%.
JSON.dump () vs JSON.dumps ()
JSON.dump() functions as when JSON needs to be dump into a file.
JSON.dumps() is used to dump strings for printing and parsing.
Real-World Example
Here is a complete example of Python with JSON using Keywords. import json person_string = '{"name": "Canel", "languages": "French", "number": [6, 32, null]}' #importing dictionary person_dict = json.loads(person_string) # Keywords print(json.dumps(person_dict, indent = 4, sort_keys=True))
Output
{ "languages": "French", "name": "Canel", "numbers": [ 6, 32, Null ]}
Keys are in ascending order. Indentation is 4 however, the default value if indent is none. The default value of sort_key is false.
Other useful articles:
- OOP in Python
- Python v2 vs Python v3
- Variables, Data Types, and Syntaxes in Python
- Operators, Booleans, and Tuples
- Loops and Statements in Python
- Python Functions and Modules
- Regular Expressions in Python
- Python Interfaces
- JSON Data and Python
- Pip and its Uses in Python
- File Handling in Python
- Searching and Sorting Algorithms in Python
- System Programming (Pipes &Threads etc.)
- Database Programming in Python
- Debugging with Assertion in Python
- Sockets in Python
- InterOp in Python
- Exception Handling in Python
- Environments in Python
- Foundation of Data Science
- Reinforcement Learning
- Python for AI
- Applied Text Mining in Python
- Python Iterations using Libraries
- NumPy vs SciPy
- Python Array Indexing and Slicing
- PyGame
- PyTorch
- Python & Libraries