Parsing Json Nested Dictionary Using Python
Below, are the methods of Parsing JSON nested Dictionary Using Python:
- Using
json
Module - Using
jsonpath-ng
Library - Using Recursion
- Using P
andas
Library
Parsing Json Nested Dictionary Using json
Module
In this example, In below code, the `json` module is used to parse a JSON-formatted string (`json_data`). The `json.loads()` function is employed to convert the string into a Python dictionary (`parsed_data`).
Python3
import json json_data = '{"name": "John", "age": 30, "address": {"city": "New York", "zipcode": "10001"}}' parsed_data = json.loads(json_data) print ( 'Name:' ,parsed_data[ 'name' ]) print ( 'Address:' ,parsed_data[ 'address' ][ 'city' ]) |
Name: John Address: New York
Parsing Json Nested Dictionary Using jsonpath-ng
Library
In this example, below code uses the `jsonpath_ng` library to perform a JSONPath query on parsed JSON data, extracting and printing the value associated with the ‘city’ key within the ‘address’ sub-dictionary.
Python3
from jsonpath_ng import jsonpath, parse json_data = '{"name": "John", "age": 30, "address": {"city": "New York", "zipcode": "10001"}}' parsed_data = json.loads(json_data) jsonpath_expr = parse( '$.address.city' ) match = jsonpath_expr.find(parsed_data) if match: print ( 'City:' ,match[ 0 ].value) |
Output
City: New York
Parsing Json Nested Dictionary Using Recursion
In this example, below recursive function (`recursive_parser`) extracts nested values from a Python dictionary (`json_data`) based on a list of keys (`keys_to_extract`). The result is the value associated with the last key in the list, demonstrating a method for selectively accessing nested data structures in a flexible and recursive manner.
Python3
def recursive_parser(data, keys): if not keys: return data return recursive_parser(data.get(keys[ 0 ], {}), keys[ 1 :]) json_data = { "name" : "John" , "age" : 30 , "address" : { "city" : "New York" , "zipcode" : "10001" }} keys_to_extract = [ 'address' , 'city' ] result = recursive_parser(json_data, keys_to_extract) print ( 'City:' ,result) |
City: New York
Parsing Json Nested Dictionary Using Pandas
Library
In this example, below code uses the `pandas` library to parse JSON data into a DataFrame (`parsed_data`) and then extracts and prints the value associated with the ‘city’ key within the ‘address’ column. The `pd.json_normalize()` function helps to flatten nested JSON structures into a tabular format.
Python3
import json import pandas as pd json_data = '{"name": "John", "age": 30, "address": {"city": "New York", "zipcode": "10001"}}' parsed_data = pd.json_normalize(json.loads(json_data)) print 'City:' ,(parsed_data[ 'address.city' ].values[ 0 ]) |
Output
City: New York
Parsing Json Nested Dictionary Using Python
We are given a JSON string and we have to parse a nested dictionary from it using different approaches in Python. In this article, we will see how we can parse nested dictionary from a JSON object using Python.
Example:
Input: json_data = '{"name": "John", "age": 30, "address": {"city": "New York", "zipcode": "10001"}}'
Output: Name: John, Address: New York
Explanation: We have parsed name and address from the nested dictionary given as JSON string.