Migrate LLM JSON between schema versions
When you change a prompt, swap models, or upgrade an API, the shape of the JSON your model returns often changes too — keys get renamed, nesting moves, arrays get wrapped. This tool lets you write a simple old-path → new-path mapping and reshape a pasted response into your target schema, so downstream code keeps working without manual editing.
How the mapping works
Each line of the mapping is a rule: read the value at the source path in the
pasted JSON, then write it at the destination path in a brand-new output
object. Paths use dot notation for object keys (message.content) and either
bracket or dot notation for array indices (choices[0] or choices.0). Writing
to a path that doesn’t exist yet creates the intermediate objects and arrays for
you, so you can both flatten and re-nest in a single pass. Any source path that
can’t be resolved is reported back as unmatched rather than silently failing.
Tips and examples
- Renaming a top-level key:
result -> data. - Pulling a nested value up:
choices[0].message.content -> text. - Re-nesting flat fields:
id -> record.idandname -> record.name. - Run the migrated output back through the tool with a second mapping to do a multi-step transformation when one pass isn’t enough.