Export data from Oracle to JSON via command line on MacOS

Want to export Oracle data to JSON Lines (JSONL) file via Command Line Interface (CLI) on MacOS?

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.

  • No need to install Oracle client library.
  • Convenient to deploy to cloud. No need to run installation file, just uncompress and run, immediately.
  • Commands are entered into a terminal or command prompt, accessed from local or remote (like SSH).
  • Support Windows, Linux, and MacOS.

Download ora-cmd Macos version Download ora-cmd

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 MacOS

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

Download ora-cmd Macos versionDownload ora-cmd

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.


Posted

in

by