Search Knowledge Base by Keyword

JSON Data (JSON) File

< Back

Overview

JSON is the structured file format this connector handles: nested objects and arrays rather than the flat rows of a CSV. In an enterprise estate JSON files usually arrive as API responses that someone has captured and saved, as exports from cloud consoles and developer tooling, or as configuration and licence manifests from vendor products. The format carries hierarchy, which means one file can hold an entire object graph where a CSV would need several.

The connector reads those files and writes them to staging tables. The json_file.php driver walks the document and flattens it: a job’s Data Node tells it which node to descend to before building rows, so a payload wrapped in an envelope such as result.items yields one row per item instead of one row for the envelope. Nested arrays below that point become their own related tables. Files are read either from a directory on the ReadyWorks server, including files uploaded through the console, or pulled from an FTP server.

In a ReadyWorks context this is the route for structured extracts that no API connector covers, and for one-off captures taken from systems ReadyWorks is not permitted to call directly. Once flattened, the staged tables join to device, identity and application data on whatever natural key the payload carries.

The connector is inbound only. It reads files and writes staging tables, and it never writes JSON back out.

NOTE: Data Node is the setting that makes or breaks a JSON job. Left blank, the parser starts at the document root, which for an enveloped payload produces a single row. Set it to the path of the array you actually want.

Connector Properties

Property Value
Identifier JSON
Name JSON Data (JSON) File
Description Connector for processing JSON files.
Job Types Inbound Only
Order 190
Enabled Yes
Locked Yes
Block Update No
Single Authentication No
Windows Only No
Connector Version 2025-03-12
Hooks None
Additional Job Fields None
Image

Authentication Methods

Two methods ship. Both use the same parsing driver and differ only in where the file comes from.

Method Identifier Base Method Script Order Enabled Config Fields
JSON File JSON_file JSON_file json_file.php 10 Yes 3
FTP Server JSON_ftp JSON_ftp json_file.php 20 Yes 5

Method 1: JSON File (JSON_file)

No Authentication

JSON File reads from a directory on the ReadyWorks server. Set Server File Path to that directory (the default is storage/etl5), and set Manual File Upload to Yes when operators will attach files through the console. Process Unchanged Files controls whether re-reading an unchanged file is treated as an error.

Connection Configuration Fields (3)

Order Label Type Required Default Max Len Tooltip
30 Server File Path text Yes storage/etl5 255 Enter path where the files to process are located or where manually uploaded files are stored (exclude starting and ending backslash)
220 Process Unchanged Files radio No 0 Choose to allow the connection to process unchanged files and not generate an error
230 Manual File Upload radio Yes 0 Choose if file is uploaded manually or processed from the server

No authentication recipe is stored. The driver script authenticates natively using the fields above.

Method 2: FTP Server (JSON_ftp)

Download JSON files from an FTP server

FTP Server downloads files from an FTP host before parsing them. Supply the server name and port (the default is 21), and a temporary working path on the ReadyWorks server where downloaded files are held during processing. Username and Password are optional, which allows anonymous FTP.

Connection Configuration Fields (5)

Order Label Type Required Default Max Len Tooltip
10 FTP Server text Yes 255 Enter name of the FTP server
20 FTP Server Port text Yes 21 5 Enter port number of the FTP server
30 Server Temporary Working Path text Yes storage/etl5 255 Enter path where temporary files are stored during data processing (exclude starting and ending backslash)
40 Username text No 1024 Enter username of the FTP connection
50 Password password No 64000 Enter username of the FTP connection

No authentication recipe is stored. The driver script authenticates natively using the fields above.

NOTE: The form has no option for FTPS or SFTP, and no certificate settings. Plain FTP carries credentials and file contents without encryption, so keep the transfer inside a trusted network segment.

NOTE: The Password field’s help text reads “Enter username of the FTP connection”. Enter the password.

Inbound Job Fields Enabled (11)

These are the job-level settings exposed for a JSON import. Data Node is the JSON-specific one.

Order Label Type Required Default Tooltip
10 Job Description text Yes Enter description of the Job
20 Job Schedule lookup Yes Daily Select frequency Job should run
30 Enabled radio Yes Yes Choose if Job is enabled
70 Destination Table text Yes Enter name of the destination table
80 Data Identity text No Enter identity of the Job
90 JSON File or Path textarea No Enter JSON filename or path (exclude starting and ending backslash); leave blank to upload all files in the base folder path of the Connection
110 Append Files to Same Destination Table radio No No Choose if multiple files in the same path will append to the same destination table, or will create a new destination table for each file
120 Append New Data to Existing Tables radio No No Choose if new data will append to the existing destination table, or will create a new destination table
130 Fields to Index text No Enter fields to index
230 Data Node text No Enter data node of the Job
560 Order text Yes Enter order of the Job

Inbound Job Templates (1)

One inbound template ships as a worked example. It arrives disabled and points at a placeholder file name, so it is a starting point to copy rather than a job to enable.

# Job Description Destination Table API End Point Enabled What It Pulls
1 JSON File json_data Not set No A skeleton job that loads a single JSON document into the json_data staging table with no Data Node set, so parsing starts at the document root. Replace the file name, the destination table and the data identity, and set Data Node to the array you want rows from.

Job Template Configuration

Settings

Setting Value
Order 10
Enabled No
Job Schedule Daily (15 1 * * *)
Destination Table json_data
Data Identity json_data
Allow Empty Table Yes
Append Files to Same Destination Table No
Append New Data to Existing Tables No
Use Unparsed Data No
Convert UUID-Keyed Objects to Rows No
Ignore XML Attributes No
Log Raw API Calls No
Method Type GET
Body Data Sending Method JSON Encoded Data

Job Parameters and Enumeration

JSON File

JSON File or Path: your_json_file.json

Outbound Job Templates (0)

This connector ships no outbound templates and does not support outbound jobs.