JSON Loader Node
The JSON Loader node retrieves JSON files from URLs and parses them into structured data for workflow processing. It supports HTTP/HTTPS protocols, variable interpolation for dynamic URL resolution, and configurable download timeouts for large files. When streaming output is enabled, loading progress is displayed in the chatbot interface.
How It Works
When the node executes, it reads the URL from the specified input variable, downloads the JSON file using HTTP/HTTPS protocols, and automatically parses the content into native data structures like objects and arrays. The parsed data is stored in the specified output variable, making it immediately available for downstream nodes to process, transform, or analyze.
The node handles the complete download and parsing lifecycle automatically, including temporary file management and cleanup. Download timeouts are configurable with a default of 60 seconds, extendable up to 5 minutes for very large JSON files. Variable interpolation in the input field allows dynamic URL construction based on workflow context, such as user-specific endpoints or parameterized API calls.
The parsed JSON data preserves the original structure, including nested objects, arrays, and all JSON data types. This makes the node suitable for complex data processing scenarios like API response handling, configuration file loading, or data transformation workflows.
Configuration Parameters
Input Field
Input Field (Text, Required): Workflow variable containing the JSON URL.
The URL must start with http:// or https:// and point to a valid JSON file. Variable interpolation using ${variable_name} syntax supports dynamic URL construction based on workflow context.
Common patterns: https://api.example.com/data.json, ${api_base_url}/config.json, https://storage.example.com/${user_id}/settings.json.
Output Field
Output Field (Text, Default: "json_data"): Workflow variable where parsed JSON data is stored.
The parsed data is a native Python object (dictionary for JSON objects, list for JSON arrays). The structure preserves all nesting, data types, and array elements from the original JSON file. Downstream nodes can access nested properties using dot notation or array indexing.
Common naming patterns: json_data, api_response, config_data, user_settings.
Common Parameters
This node supports common parameters shared across workflow nodes, including Stream Output Response and Logging Mode. For detailed information, see Common Parameters.
Best Practices
- Validate JSON URLs before production use to ensure accessibility and valid JSON content
- Adjust download timeout based on network conditions and file sizes; the default 60-second timeout may be insufficient for very large files
- Descriptive output variable names that indicate data purpose and source improve workflow maintainability
- Variable interpolation for dynamic URLs enables flexible and reusable workflows that adapt to different users or environments
- For user-provided URLs, implement validation logic using conditional nodes to verify URL format before attempting to load
Limitations
- URL-Only Support: The node only supports loading JSON from URLs (HTTP/HTTPS). Local file paths are not supported.
- No Authentication Headers: Custom HTTP headers for authentication are not supported. Credentials must be included in the URL as query parameters, or the endpoint must be publicly accessible.
- Download Timeout Range: Download timeout is configurable between 10 seconds and 5 minutes (10,000-300,000ms). Very large files or extremely slow connections may exceed the maximum timeout.
- JSON Parsing Only: The node only parses valid JSON content. Other formats like JSONL (JSON Lines), XML, or malformed JSON cause parsing errors.
- No Streaming Parse: The entire JSON file is downloaded and loaded into memory before parsing. Very large JSON files (hundreds of MB) may cause memory issues.
- Temporary File Cleanup: The node creates temporary files during download. If the workflow is interrupted, temporary files may not be cleaned up automatically.