json_strings_each_row
Description
One named JSON object per row with every field encoded as a JSON string.
SQL NULL is the string "ᴺᵁᴸᴸ"; collections use their complete native text
inside the string. Known input fields must be strings; bare JSON null is rejected.
Nullable targets also accept the string "NULL", ignoring ASCII case.
Input converts the complete field text through the declared column type.
Input and output. Select it with FORMAT json_strings_each_row. Names ignore ASCII case; use the snake_case name shown here.
Objects retain named fields, but every value is a JSON string containing complete native text. Numeric digits do not pass through a JSON numeric representation, and collections remain text inside their field string.
SQL NULL uses the quoted marker shown above. Input known fields must be strings; their complete text is converted through each destination declaration. Use json_each_row when the consumer needs ordinary JSON value types.
SELECT expressions FORMAT json_strings_each_row;
INSERT INTO table [(columns)] [SETTINGS ...] FORMAT json_strings_each_row
<data>Example usage
SELECT CAST(7 AS Int64) AS id, 'Ada' AS name FORMAT json_strings_each_row;{"id":"7","name":"Ada"}SELECT NULL AS value FORMAT json_strings_each_row;{"value":"ᴺᵁᴸᴸ"}Format settings
Use a statement SETTINGS clause; these options are not persisted by SET.
| Setting | Type | Default | Meaning |
|---|---|---|---|
ignore_unknown_fields |
Bool |
0 |
Skip input keys and header names that match no target column instead of failing. |
json_array_of_rows |
Bool |
0 |
Wrap all output rows in one JSON array. |
json_empty_as_default |
Bool |
0 |
Give empty JSON string fields their SQL or native type default. |
json_escape_slashes |
Bool |
1 |
Escape unescaped forward slashes in JSON output strings. |
json_strict_escapes |
Bool |
1 |
Reject invalid JSON escapes; otherwise preserve their literal backslash spelling. |
json_strings_each_row_sql_defaults |
Bool |
1 |
Evaluate SQL DEFAULT expressions for omitted or defaulted whole-text JSON fields; off supplies their native type defaults. |
json_validate_utf8 |
Bool |
0 |
Replace invalid UTF-8 sequences in whole-text JSON output with replacement characters; off preserves byte-string payloads. |
snappy_mode |
String |
basic |
Read Snappy client files as basic (Hadoop blocks) or framed (standard streaming format). |