Withdata Software

Export data from Oracle to JSON via command line on Linux

Want to export Oracle data to JSON Lines (JSONL) file via Command Line Interface (CLI) on Linux (Ubuntu/RedHat/CentOS…)?

Using ora-cmd, Command Line Interface (CLI) client for Oracle, you can unload Oracle data to JSON easily and fast. Direct Interaction or Scripting and Automation.

Download ora-cmd Linux version
ora-cmd.linux-386.zip
ora-cmd.linux-amd64.zip
ora-cmd.linux-arm64.zip

JSON Lines text format, also called newline-delimited JSON (NDJSON), or Line-delimited JSON (LDJSON). JSON Lines files may be saved with the file extension .jsonl, *.ndjson, *.ldjson.

Export Oracle data to JSON via command line on Linux (Ubuntu/RedHat/CentOS…)

1. Unload Table.

1) In interactive mode:

ora-cmd> unload table=jobs datafile=e:\temp\tables\jobs.json filetype=json;

2) In batch mode:

ora-cmd dsn="pan:withdata@192.168.0.102/test" task=unload table=jobs datafile=e:\temp\tables\jobs.json filetype=json quit=y

2. Unload Query.

1) In interactive mode:

ora-cmd> unload query="select job_id,job_title from jobs"
     >  datafile=e:\temp\tables\jobs_part.json
     >  filetype=json;

2) In batch mode:

ora-cmd dsn="pan:withdata@192.168.0.102/test" task=unload query="select job_id,job_title from jobs" datafile=e:\temp\tables\jobs_part.json filetype=json quit=y

3. Unload All Tables.

1) In interactive mode:

ora-cmd> unload table=all folder=e:\temp\tables filetype=json;

2) In batch mode:

ora-cmd dsn="pan:withdata@192.168.0.102/test" task=unload table=all folder=e:\temp\tables filetype=json quit=y

See parameters detail.


More about ora-cmd – Command Line Interface (CLI) tool for Oracle

Oracle → JSON reference

Type mapping

Value kindin Oraclein JSON
IntNUMBER(10)1234 (number)
BigintNUMBER(19)9007199254740993
DecimalNUMBER(p,s)1234.56 (number)
FloatBINARY_DOUBLE1.234e10 (number)
TextVARCHAR2(n)"text" (string)
Long textCLOB"multi-line\ntext" (escaped newline inside a string)
DateDATE"2026-09-18" (string)
DatetimeTIMESTAMP"2026-09-18T14:30:00Z" (string)
BinaryBLOB"base64:..." (string)
BooleanNUMBER(1)true / false (boolean)
JSONCLOBnested object or array, kept as structure

Dialect differences

Oracle is a database server and JSON is a file format, so the gap is wider than a dialect difference - the rows below are where values and structure stop lining up.

Propertyin Oraclein JSON
port1521—
identifiers"double quotes"Double quotes; backslash escapes
row limitFETCH FIRST n ROWS ONLY—
datesDATE, TIMESTAMPNo date type: dates arrive as strings and the reader must p...
long textCLOB, NCLOB—
binaryBLOB, BFILENot supported natively - base64 inside a string
separator—Braces and commas
encoding—UTF-8 by definition
typing—string, number, boolean, null, object, array - no date type
shapeTables of rows and columnsNested objects and arrays
ceiling—Whole document is usually parsed into memory

Command line

SideCommand
Oracleexp / expdp
Oracle (load)sqlldr (SQL*Loader)

Convert your data online, free

Free in-browser converters for CSV, Excel, JSON, XML and SQL: Withdata Online Data Conversion. Large files, batch conversion or scheduling? See the offline desktop apps, or browse all data conversion tools.