SELECT ARRAY('a\nb') as c1, CAST(ARRAY('a\nb') AS JSON) as c2
取到的值分别为
c1: '["a\nb"]'
c2: '["a\\nb"]'
c1由于未转义\n,导致该字符串为无效JSON,无法进行后续处理。
SELECT ARRAY('a\nb') as c1, CAST(ARRAY('a\nb') AS JSON) as c2
取到的值分别为
c1: '["a\nb"]'
c2: '["a\\nb"]'
c1由于未转义\n,导致该字符串为无效JSON,无法进行后续处理。
我也遇到相同的问题, 使用stream load 导入 array 数据,结果有误 \n 被转成了n。
CREATE TABLE `tmp_test` (
`id` bigint NOT NULL AUTO_INCREMENT(1),
`value` varchar(65533) NULL,
`arr` array<varchar(65533)> NULL,
`json` json NULL
) ENGINE=OLAP
UNIQUE KEY(`id`)
DISTRIBUTED BY HASH(`id`) BUCKETS 10
{"id": 111, "value": "Hello, \n \"Doris\"", "arr": ["Hello, \n \"Doris\""], "tmp_arr": ["Hello, \n \"Doris\""], "json": ["a\nb", "a\"b"]}
curl --location-trusted -u <user: password> \
-H "Expect:100-continue" \
-H "format:json" \
-T stream_load_test.json \
-H "read_json_by_line:true" \
-H "columns: id, value, arr, json" \
-H "strip_outer_array:false" \
-XPUT <ip>/tmp_test/_stream_load