Data Transformation

Transform any data, any format, at native speed.

GoWeave gives you a DataWeave-style language. The Visual Mapper handles simple mappings without code.

GoWeave

GoWeave transformation language

A concise, expression-based language for JSON, XML and CSV, with functions such as map, filter, reduce, groupBy, orderBy, distinctBy, pluck, flatten, joinBy, splitBy and when/otherwise.

DataWeave compatibility

Existing DataWeave 2.0 scripts are converted to native code automatically, so your transformation logic survives migration.

How migration works
%dw 2.0
output application/json
---
payload.orders
  filter ((o) -> o.status == "SHIPPED")
  groupBy ((o) -> o.region)
  mapObject ((orders, region) -> {
    (region): {
      count: sizeOf(orders),
      total: orders reduce ((o, acc = 0) -> acc + o.amount),
      customers: orders distinctBy $.customer map $.customer
    }
  })
Illustrative example. GoWeave syntax shown for comparison; generated output varies by script.
Build transformations faster

Write it, see it, or map it visually.

Live preview

Paste sample input, define input and output schemas, and watch the output update as you type.

  • Sample input for JSON, XML and CSV
  • Input and output schemas
  • Output updates as you type

Visual Mapper

Map fields between source and target with no scripting.

Ideal for straightforward mappings, and a quick way for new team members to get productive.

Beyond mapping

Everything you need to shape, query and validate data.

Every format you'll meet

JSON, XML, CSV, YAML, Protobuf, Avro, Parquet, flat file, COBOL copybook and EDI.

Query and validate

XPath, XQuery, XSLT, JSONPath and JMESPath, plus JSON Schema, XSD and OpenAPI validation.

Templates

Mustache and parse-template support for generating documents and messages.

Supported formats

One transformation layer for every payload.

Read in one format, write in another, and validate along the way, all compiled into your Go microservice.

See GoWeave in a demo

Data formats

  • JSON
  • XML
  • CSV
  • YAML
  • Protobuf
  • Avro
  • Parquet
  • Flat file
  • COBOL copybook
  • EDI

Query & transform

  • XPath
  • XQuery
  • XSLT
  • JSONPath
  • JMESPath

Validation & templates

  • JSON Schema
  • XSD
  • OpenAPI
  • Mustache
  • Parse template