Tomat Documentation
Tomat HomeCommunity
  • 👋Introduction to Tomat
  • Getting Started
    • Product Updates
    • Beginner's Guide
    • FAQ
  • Product overview
    • Home Page
    • Exploring Data
      • Data Catalog
      • Exploring Datasets
      • Statistics Panel
    • Designing Flows
      • Creating Flows
      • Flow Designer Guide
        • Working with Canvas
        • Using Groups
        • Working with Table
      • Managing Flows
      • Demo: Building a Simple Flow
    • Executing Flows
      • Running Flows
      • Jobs overview
    • Building Reports
      • Designing Reports
      • Running Reports
      • Reports Page
    • Connectors
      • Data Storages
      • Data Sources
      • Enrichments
    • Tomat Use Cases
  • Data Transformation
    • Transforms
      • Source
      • New Empty Table
      • Output
      • Chart
      • New Column
      • If...Then
      • Rolling Functions
      • Column Type
      • Columns Edit
      • Sort
      • Filter
      • Remove Duplicates
      • Split Text
      • Extract Text
      • Find and Replace Text
      • Match Text
      • Join
      • Union
      • Group By
      • Pivot
      • Unpivot
      • To JSON
      • From JSON
      • API Call
      • AI Column
      • AI Table
    • Formulas
      • What are Formulas?
      • Math Functions
        • Abs
        • Ceiling
        • Exp
        • Floor
        • IsEven
        • IsOdd
        • Ln
        • Log
        • Log10
        • Mod
        • Pi
        • Power
        • Quotient
        • Round
        • RoundDown
        • RoundUp
        • Sign
        • Sqrt
        • Truncate
      • Trigonometric Functions
        • Acos
        • Asin
        • Atan
        • Atan2
        • Cos
        • Cot
        • Degrees
        • Radians
        • Sin
        • Tan
      • String Functions
        • Compare
        • Concat
        • Contains
        • In
        • CountMatches
        • CountMatchesRegexp
        • EndsWith
        • EndsWithRegexp
        • Extract
        • FindMatchOfString
        • FindMatchOfRegexp
        • FindMatchesOfString
        • FindMatchesOfRegexp
        • Left
        • Length
        • Lower
        • Matches
        • Pad
        • ProperCase
        • RemoveSymbols
        • RemoveWhitespaces
        • Repeat
        • Replace
        • ReplaceRegexp
        • Reverse
        • Right
        • Spaces
        • Split
        • SplitRegexp
        • StartsWith
        • StartsWithRegexp
        • Stuff
        • Substring
        • SubstringDelimiter
        • SubstringRegexpDelimiter
        • Trim
        • Upper
      • Date & Time Functions
        • Date
        • DateAdd
        • DateAdd
        • DateDiff
        • DateDiff2
        • DateFromParts
        • DateTime
        • DateTimeFromParts
        • DateTrunc
        • DayName
        • DayOfMonth
        • DayOfWeek
        • DayOfYear
        • Hour
        • Minute
        • Month
        • MonthName
        • Now
        • Quarter
        • Second
        • Time
        • TimeFromParts
        • Today
        • Week
        • Year
      • Aggregate Functions
        • Array
        • ArrayIf
        • Avg
        • AvgIf
        • Count
        • CountA
        • CountIf
        • CountUnique
        • Max
        • MaxIf
        • Median
        • MedianIf
        • Min
        • MinIf
        • Mode
        • ModeIf
        • Percentile
        • Quartile
        • StdDev
        • StdDevIf
        • Sum
        • SumIf
        • SumProduct
        • Variance
        • VarianceIf
      • Conversion Functions
        • ToArray
        • ToBoolean
        • ToDate
        • ToDateTime
        • ToDecimal
        • ToInteger
        • ToObject
        • ToTime
        • ToString
      • Misc Functions
        • At
        • IsMissing
        • RowNumber
        • Random
        • If
        • Coalesce
        • True
        • False
        • Null
        • $target
      • Window Functions
      • Custom Functions
      • Data Types
      • Supported Date Parts
      • Regex: List of Tokes
  • PRICING & BILLING
    • Plans, Subscriptions, and Credits
    • Tomat for Education
  • Integrations
    • Data Storages
      • Snowflake
      • PostgreSQL
  • Tutorials
    • Merge Columns
    • Join Types
    • Union Introduction
    • Window Functions
    • What is Unpivot?
    • JSON Format Tutorial
    • Using Regex
Powered by GitBook
On this page
  • Overview
  • Settings
  1. Data Transformation
  2. Transforms

From JSON

Flatten JSON to columns and rows

Last updated 1 year ago

Overview

The From JSON Node allows you to expand structured data fields, like arrays or objects, back into individual columns and rows. Adding this node lets you deconstruct complex column structures to enable easier analysis and reporting.

The opposite transform is .

Settings

Extract data from

Select columns containing JSON you want to expand. Columns should have an Array or Object type. If more than one column is selected, all the columns should have the same structure and type.

Options

Select an option to automatically extract values from JSON or set manual paths to specific values.

Unnest top level

This option automatically recognizes the column type and extracts Objects into columns and Arrays into rows.

Unnest only objects and values

All arrays will be extracted as it is, with no parsing.

Custom flatten with JsonPaths

Specify the paths manually using JSON Path language. Set the cursor inside the field to get field suggestions. Select the field or press "Tab" to add it to the path.

Compare the Options

Consider the selected column contains the following JSON:

{
  "Name": {
          "FirstName": "Mike",
          "SecondName": "Blank",
  },
  "Nationality": ["USA", "Poland"],
  "BirthYear": 1980
}

The result of "Unnest top level":

Name
Country
BirthYear

{ "First Name": "Mike", "Second Name": "Blank", }

["USA", "Poland"]

1980

The result of "Unnest only objects and values":

Name.FirstName
Name.SecondName
Country
BirthYear

Mike

Blank

["USA", "Poland"]

1980

Nest