Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started
Transform Nested JSON to Tables
00:00
5 left

Transform Nested JSON to Tables

HardPython

Problem

DataArt data-engineering pipelines often receive nested JSON payloads that must be converted into records for downstream processing. Write a function that flattens a nested JSON object into a list of row objects.

Formal Specification

Implement flatten_json(data), where data is a JSON object represented by a Python dictionary. Return a list of Python dictionaries. Nested object keys must be joined with . to form column names. Arrays of objects must be expanded into separate rows. If multiple arrays of objects occur at the same level, produce the Cartesian product of their elements. Arrays of scalar values remain unchanged under their flattened key.

The input root is always an object. Object key order does not affect correctness. An empty array is preserved as an empty array value, and an empty object contributes no columns.

Constraints

  • 1 <= number of JSON nodes <= 10^4
  • Nesting depth is at most 50
  • Keys are non-empty strings without '.' characters
  • Values are valid JSON types
  • Arrays are either arrays of objects or arrays of scalar values

Function Signature

def flatten_json(data):
Interviewer

Your question is Transform Nested JSON to Tables. Start with the requirements in the Question tab.

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.
CodePython 3
You need to log in / sign up to run or submit.Ln 2
Run your code to see test output here.