Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Parsing Nested JSON in Python

MediumPython00:00
Practice interviewer
In session
5 left
00:00

Your question is Parsing Nested JSON in Python. Start with the requirements on the right.

Run and submit as often as you like. When you're ready, talk me through your approach or go straight to the code.

You need to log in / sign up to run or submit.

Problem

Perficient data pipelines often receive nested JSON payloads from Adobe Experience Manager and other content systems. Write a function that flattens a JSON object into a dictionary whose keys identify each leaf value by its path.

Formal Specification

Implement flatten_json(data), where data is a JSON-compatible object represented by a Python dictionary. Traverse nested dictionaries and lists:

  1. Join dictionary keys with ..
  2. Represent list positions with bracket notation, such as items[0].
  3. Store primitive values and None at their complete paths.
  4. Treat an empty dictionary or list as a leaf and store it unchanged.
  5. The root object itself is not assigned a path. An empty root object returns {}.

Dictionary keys contain only letters, digits, and underscores, so path escaping is not required. Return a new dictionary. Output key order is not significant.

Constraints

  • The root value is a dictionary.
  • 1 <= number of JSON values <= 10^4.
  • Nesting depth is at most 100.
  • Values are valid JSON types: dictionaries, lists, strings, numbers, booleans, and None.
  • Dictionary keys contain only letters, digits, and underscores.

Function Signature

def flatten_json(data):
Your solutionPython 3
You need to log in / sign up to run or submit.
Run your code to see test output