Skip to content

JSON format settings ​

JSON settings control field conversion, quoting, header matching and document layout. Use a SETTINGS clause on the statement; the next statement starts from defaults again.

A setting applies only to the JSON layouts that support it. Whole-object json_as_object and json_as_string input does not use the ordinary row JSON options. The individual format pages list their applicable subset.

The ordinary json_each_row codec always writes numeric values as JSON numbers; the json_quote options do not change it. Choose a supported compact/object layout when quoted numeric output is required.

Use a statement SETTINGS clause. Defaults in system.settings are read-only; format settings cannot be persisted with SET. Put input settings before FORMAT, because the bytes after the format name are input data.

json_array_of_rows ​

Type: Bool

Default value: 0

Wrap all output rows in one JSON array.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_compact_strings_each_row, json_strings_each_row.

json_arrays_as_strings ​

Type: Bool

Default value: 1

Accept JSON arrays in string input columns and retain their JSON text.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_bools_as_numbers ​

Type: Bool

Default value: 1

Accept JSON Boolean input in numeric columns as zero or one.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_bools_as_strings ​

Type: Bool

Default value: 1

Accept JSON Boolean input in string columns as true or false text.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_check_types ​

Type: Bool

Default value: 1

Compare input metadata or header types with the bound target column types.

Applies to: json, json_compact_each_row_with_names_and_types.

json_columns_sql_defaults ​

Type: Bool

Default value: 1

Evaluate SQL DEFAULT expressions for omitted input columns; off supplies only their native type defaults.

Applies to: json_columns.

json_compact_columns_sql_defaults ​

Type: Bool

Default value: 1

Evaluate SQL DEFAULT expressions for omitted trailing input columns; off supplies only their native type defaults.

Applies to: json_compact_columns.

json_compact_strings_each_row_sql_defaults ​

Type: Bool

Default value: 1

Evaluate SQL DEFAULT expressions for missing or defaulted positional whole-text JSON fields; off supplies their native type defaults.

Applies to: json_compact_strings_each_row.

json_compact_uneven_rows ​

Type: Bool

Default value: 0

Give missing positional fields their SQL or native defaults and validate then skip extra fields.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_compact_strings_each_row.

json_empty_as_default ​

Type: Bool

Default value: 0

Give empty JSON string fields their SQL or native type default.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_compact_strings_each_row, json_object_each_row, json_strings_each_row.

json_escape_slashes ​

Type: Bool

Default value: 1

Escape unescaped forward slashes in JSON output strings.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_compact_strings_each_row, json_object_each_row, json_strings_each_row.

json_match_names ​

Type: Bool

Default value: 1

Match input header names to target columns ignoring ASCII case; when off, skip the names header and read in target order.

Applies to: json_compact_each_row_with_names_and_types.

json_named_tuples_as_objects ​

Type: Bool

Default value: 1

Read and write named Tuple values as objects; otherwise use positional arrays.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_numbers_as_strings ​

Type: Bool

Default value: 1

Accept JSON numbers in string input columns and retain their exact spelling.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_object_each_row_name_column ​

Type: String

Default value: ''

Use this string column for outer row keys and omit it from row objects; empty generates row_1, row_2, and so on.

Applies to: json_object_each_row.

json_object_each_row_sql_defaults ​

Type: Bool

Default value: 1

Evaluate SQL DEFAULT expressions for omitted or defaulted row fields; off supplies only their native type defaults.

Applies to: json_object_each_row.

json_objects_as_strings ​

Type: Bool

Default value: 1

Accept JSON objects in string input columns and retain their JSON text.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_quote_decimals ​

Type: Bool

Default value: 0

Write fixed-point decimal output values as JSON strings.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_quote_large_floats ​

Type: Bool

Default value: 0

Write finite Float64 output values as JSON strings.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_quote_large_integers ​

Type: Bool

Default value: 0

Write integers of at least 64 bits as JSON strings; retained narrow types stay numeric.

Applies to: json, json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_quote_special_floats ​

Type: Bool

Default value: 0

Write non-finite floats as inf, -inf, nan, or -nan strings instead of JSON null.

Applies to: json, json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_strict_escapes ​

Type: Bool

Default value: 1

Reject invalid JSON escapes; otherwise preserve their literal backslash spelling.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_compact_strings_each_row, json_object_each_row, json_strings_each_row.

json_strings_each_row_sql_defaults ​

Type: Bool

Default value: 1

Evaluate SQL DEFAULT expressions for omitted or defaulted whole-text JSON fields; off supplies their native type defaults.

Applies to: json_strings_each_row.

json_tuple_ignore_unknown_fields ​

Type: Bool

Default value: 0

Validate then ignore object members outside a named Tuple declaration.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_tuple_missing_as_default ​

Type: Bool

Default value: 1

Give missing named Tuple members their declared type defaults.

Applies to: json_compact_each_row, json_compact_each_row_with_names_and_types, json_object_each_row.

json_validate_utf8 ​

Type: Bool

Default value: 0

Replace invalid UTF-8 sequences in whole-text JSON output with replacement characters; off preserves byte-string payloads.

Applies to: json_compact_strings_each_row, json_strings_each_row.