Oct. 08, 2012

Parsing JSON in Python

Overview

Request to an HTTP API is often just the URL with some query parameters.

API Response

The responses that we get from an API is data, that data can come in various
formats, with the most popular being XML and JSON. 

Many HTTP APIs support multiple response formats, so that developers can choose 
the one they’re more comfortable parsing.

Getting Started

To get started, lets create a simple data structure and put in some data.

First we import the json module into our program. 
import json

# Create a data structure
data = [ { 'Hola':'Hello', 'Hoi':"Hello", 'noun':"hello" } ]
To print the data to screen, is as simple as:
print 'DATA:', (data)
When we print the Data as above, we will see the following output:

DATA: [{'noun': 'hello', 'Hola': 'Hello', 'Hoi': 'Hello'}]

JSON Functions

When you use JSON in Python, there are different function that we can make use of

Json Dumps

The json.dumps function takes a Python data structure and returns it as a JSON string.
json_encoded = json.dumps(data)

# print to screen

print json_encoded
OUTPUT:

[{"noun": "hello", "Hola": "Hello", "Hoi": "Hello"}]

Json Loads

The json.loads() function takes a JSON string and returns it as a Python data
structure.
decoded_data = json.loads(json_encoded)

# print to screen

print decoded_data
OUTPUT:

[{u'noun': u'hello', u'Hola': u'Hello', u'Hoi': u'Hello'}]

Recommended Python Training – DataCamp

For Python training, our top recommendation is DataCamp.

Datacamp provides online interactive courses that combine interactive coding challenges with videos from top instructors in the field.

Datacamp has beginner to advanced Python training that programmers of all levels benefit from.

 



Read more about:
Disclosure of Material Connection: Some of the links in the post above are “affiliate links.” This means if you click on the link and purchase the item, I will receive an affiliate commission. Regardless, PythonForBeginners.com only recommend products or services that we try personally and believe will add value to our readers.