Let us see how to convert JSON data into a custom object in Python. Converting JSON data into a custom python object is also known as decoding or deserializing JSON data. To decode JSON data we can make use of the
json.load() method and the
object_hook parameter. The object_hook parameter is used so that, when we execute json.loads(), the return value of object_hook will be used instead of the default dict value.We can also implement custom decoders using this.
Example 1 :
As we can see in the above example, the
namedtuple is a class, under the
collections module. It contains keys that are mapped to some values. In this case, we can access the elements using keys and indexes. We can also create a custom decoder function, in which we can convert dict into a custom Python type and pass the value to the
object_hook parameter which is illustrated in the next example.
Example 2 :
We can also use
SimpleNamespace class from the types module as the container for JSON objects. Advantages of a
SimpleNamespace solution over a
namedtuple solution: –
- It is faster because it does not create a class for each object.
- It is shorter and simpler.
Example 3 :
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.