🛠️ Process AI Output to Structured JSON with Robust JSON Parser
Go to WorkflowDescription
How it works
This workflow is a robust and forgiving JSON parser designed to handle malformed or "dirty" JSON strings often returned by AI models or scraped from web pages. It takes a text string as input and attempts to extract and parse a valid JSON object from it.
Cleans Input: It starts by trimming whitespace and removing common Markdown code fences (like ` Applies Multiple Fixes: It systematically attempts to correct common JSON errors in a specific order:
Escapes unescaped control characters (like newlines) within strings.
Fixes invalid backslash escape sequences.
Removes trailing commas.
Intelligently attempts to fix unescaped double quotes inside string values.
Parses Strategically: If a direct parse fails, it tries to extract a potential JSON object from the text (e.g., finding a {...} block inside a larger sentence) and then re-applies the cleaning logic to that extracted portion.
Outputs Clean Data: If successful, it outputs the parsed JSON fields. By default, it removes the detailed parsing_status object, but you can deactivate the final "Set" node to keep it for debugging.
Set up steps
Setup time: ~1 minute
This workflow is designed to be used as a sub-workflow and requires no internal setup.
In your main workflow, add an Execute Sub-Workflow node where you need to parse a messy JSON string.
In the Workflow parameter, select this "Robust JSON Parser" workflow.
Ensure the data you send to the node is a JSON object containing a text field, where the value of text is the string you want to parse. For example: { "text": "{\\\"key\\\": \\\"some broken json...\\\"}" }.
The workflow will return the successfully parsed data. To see a detailed log of the cleaning process, simply deactivate the final Remove parsing_status node inside this workflow.