working with json python code example

Example 1: python json file operations

import json # Imports the json file that we need
with open("jsonfile.json", "r") as jsonFile: # Opens Json file for reading
	data = json.load(jsonFile) # Reads Json file using json.load() method
'''
Example Json File:
[{"name": "Bill", "age": 20},
{"name": "Mary", "age": 31},
{"name": "Jake", "age": 19}]
'''
data[1]["age"] = 32 # Alters data variable
''' 
Now the data variable is:
[{"name": "Bill", "age": 20},
{"name": "Mary", "age": 32},
{"name": "Jake", "age": 19}]
'''
with open("jsonfile.json", "w") as fileJson: # Opens Json file once again
  json.dump(data, fileJson) # Replaces the Json file using json.dump() method

Example 2: python import json data

# Basic syntax:
import ast
# Create function to import JSON-formatted data:
def import_json(filename):
  for line in open(filename):
    yield ast.literal_eval(line)
# Where ast.literal_eval allows you to safely evaluate the json data.
# 	See the following link for more on this:
# 	https://stackoverflow.com/questions/15197673/using-pythons-eval-vs-ast-literal-eval
        
# Import json data
data = list(import_json("/path/to/filename.json"))

# (Optional) convert json data to pandas dataframe:
dataframe = pd.DataFrame.from_dict(data)
# Where keys become column names

Example 3: json.loads

>>> import json
>>> json.loads('["foo", {"bar":["baz", null, 1.0, 2]}]')
['foo', {'bar': ['baz', None, 1.0, 2]}]
>>> json.loads('"\\"foo\\bar"')
'"foo\x08ar'
>>> from io import StringIO
>>> io = StringIO('["streaming API"]')
>>> json.load(io)
['streaming API']