Dataford
Interview QuestionsInterview GuidesExperiencesMock InterviewsPricing
Get started

Implementing a JSON Field Based on ID

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

Your question is Implementing a JSON Field Based on ID. 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

GoFundMe payloads can contain nested campaign, reward, and donation items represented by JSON objects and arrays. Given a JSON-compatible value, return a new value where every object containing an integer id also contains an isEven field set to true when the ID is even and false otherwise.

Do not mutate the input. Preserve object fields, array order, and primitive values. If an object already contains isEven, replace it with the value derived from id. Objects without an id must remain structurally unchanged, but their nested values must still be processed.

Formal Specification

Implement annotate_items(payload), where payload is a JSON value composed only of dictionaries, arrays, strings, numbers, booleans, and null. Return a new JSON value with the same structure and the required annotations.

Constraints

  • payload contains only valid JSON-compatible values
  • Every present id field is an integer from -10^9 through 10^9
  • The total number of objects and arrays is at most 10^5
  • Nesting depth is at most 1,000
  • The input must not be mutated

Function Signature

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