Create JSON Object
Infoveave Data Automation — JSON & Array
You have Street, City, State, and Zip as separate columns. You need a single AddressJSON column for an API payload or a downstream system. Select the columns, name the output — done.
Many downstream systems, APIs, webhooks, and document-oriented databases expect data structured as JSON objects rather than flat tabular rows. Packaging flat columns into a JSON column — for REST API payloads, Elasticsearch documents, MongoDB upserts, or event schema outputs — normally requires JSON_OBJECT or JSON_BUILD_OBJECT functions in SQL, json.dumps with a dict construction in Python, or CONCATENATE-based JSON string building in Excel. All require knowing the column names at query time and rewriting the expression when columns change. Create JSON Object selects any set of columns from the current dataset and packages them into a well-formed JSON object in a single configured step, making it straightforward to prepare structured output for any downstream system without custom code.
What Create JSON Object does
Combine selected columns from a tabular dataset into a single structured JSON object column in Infoveave. Package address fields, product attributes, event metadata, or any grouped columns into nested JSON for export, API payloads, and semi-structured storage — without JSON_OBJECT queries or json.dumps code.
Part of Infoveave Data Automation on the Unified Data Platform.
When to use Create JSON Object
- You are preparing data for an API or webhook endpoint that expects specific fields grouped as a JSON payload, and you need to select a subset of columns and package them into a structured JSON column before the export step
- You are loading data into a document-oriented store such as Elasticsearch or MongoDB and need to structure related columns into a JSON document column that the loader can use as the document body
- You want to archive or transmit a group of related fields as a single column — such as all address fields into an AddressJSON column or all product attribute fields into an AttributesJSON column — to reduce schema width or prepare a versioned snapshot
- You are reversing a prior Extract with JSON Path operation to repackage fields back into JSON after enrichment, normalization, or validation steps have run on the individual columns
When to avoid it
- You need to extract values from an existing JSON column rather than create new JSON from flat columns — use Extract with JSON Path for reading values out of JSON
- You need to combine two existing array columns into a single merged array — use Concatenate Array for array merging
- You need deeply nested JSON with objects inside objects — Create JSON Object produces a flat key-value JSON object; for multi-level nesting, chain multiple Create JSON Object steps and reference the output column as a source in the next step
Where it fits in your Infoveave automation
Create JSON Object is one step inside a multi-step Infoveave workflow. Chain it with other activities — no code, no manual hand-offs.
Build this workflow visually in Infoveave Data Automation — drag, connect, and schedule with no infrastructure setup.
How teams use Create JSON Object
Real scenarios where this transformation saves hours of manual work.
Package Customer Address Fields into an AddressJSON Column for Checkout API
A retail integration pipeline processes customer order records where address fields — Street, City, State, ZipCode, Country — are stored as separate columns. The order fulfillment API expects a shipping_address JSON object in its request body. Create JSON Object selects the five address columns and produces an AddressJSON column containing a properly structured JSON object. The export step maps this column to the shipping_address field in the API payload.
Group Product Specifications into an AttributeJSON Column for Catalog Upload
A product data team manages product records where specification attributes — Weight, Dimensions, Material, Color, Finish — are separate columns. The product catalog platform accepts an attributes JSON object field per product. Create JSON Object packages the specification columns into a SpecificationJSON column that the catalog loader maps directly to the attributes field, eliminating manual JSON construction.
Build Transaction Metadata JSON for Elasticsearch Event Indexing
A financial data engineering team indexes transaction events into Elasticsearch where each document includes a metadata object containing Merchant, Channel, DeviceType, and SessionID. These fields are available as separate columns in the pipeline. Create JSON Object combines them into a TransactionMetadata JSON column that the Elasticsearch indexing step uses as the metadata field in each event document.
See Create JSON Object in action
Input data (left) is transformed using the configuration below. The output table (right) is ready for dashboards or downstream steps.
Street, City, State, ZipCodeAddressJSONYesInput Data
| OrderID | Street | City | State | ZipCode |
|---|---|---|---|---|
| 1001 | 123 Maple Ave | New York | NY | 10001 |
| 1002 | 456 Oak Street | Los Angeles | CA | 90001 |
| 1003 | 789 Pine Road | Chicago | IL | 60601 |
| 1004 | 321 Elm Blvd | Houston | TX | 77001 |
| 1005 | 654 Cedar Lane | Phoenix | AZ | 85001 |
Output Data
| OrderID | Street | City | State | ZipCode | AddressJSON |
|---|---|---|---|---|---|
| 1001 | 123 Maple Ave | New York | NY | 10001 | {"Street":"123 Maple Ave","City":"New York","State":"NY","ZipCode":"10001"} |
| 1002 | 456 Oak Street | Los Angeles | CA | 90001 | {"Street":"456 Oak Street","City":"Los Angeles","State":"CA","ZipCode":"90001"} |
| 1003 | 789 Pine Road | Chicago | IL | 60601 | {"Street":"789 Pine Road","City":"Chicago","State":"IL","ZipCode":"60601"} |
| 1004 | 321 Elm Blvd | Houston | TX | 77001 | {"Street":"321 Elm Blvd","City":"Houston","State":"TX","ZipCode":"77001"} |
| 1005 | 654 Cedar Lane | Phoenix | AZ | 85001 | {"Street":"654 Cedar Lane","City":"Phoenix","State":"AZ","ZipCode":"85001"} |
Configuration
Key fields to configure in the Infoveave workflow builder. Full reference available in the documentation.
Column Names
Select the columns that will become keys in the JSON object. Each selected column name becomes a key in the output JSON, and each row's value for that column becomes the value. The key names in the JSON match the column names exactly as they appear in the dataset.
Output Column
Enter the name for the new column that will contain the JSON object string for each row. The JSON is well-formed with string values quoted and numeric values unquoted based on the column data types.
Include Original
Choose whether to retain the source columns in the output alongside the new JSON column. Enable when the flat columns are still needed for other steps in the pipeline. Disable when the JSON column replaces the flat columns for export or loading purposes.
Frequently asked questions
Everything you need to know about Create JSON Object in Infoveave.
Also in JSON & Array — and what runs before & after
Transformations in the same family as Create JSON Object, often chained together in the same Infoveave workflow.
Part of Infoveave Data Automation
80+ transformations. Zero manual steps.
Create JSON Object is one of over 80 transformation activities available inside Infoveave workflows. Chain transformations together — no code, no exports, no waiting for IT.
Ready to see Infoveave in action?