Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
ExperiencesCoaching
New
Practice
Mock InterviewsTimed interview simulations with feedbackSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
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 dictionary. Return a list of 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.
Code
Sign up free to run your codeLog inLn 2
Run your code to see test output here.