Загрузка данных JSON с апострофом (одинарная кавычка) - PullRequest
0 голосов
/ 16 мая 2018

Это особенно касается вставки данных в CrateDB,

У меня есть таблица с одним столбцом типа OBJECT.Я пытаюсь вставить в него данные JSON, используя python, и все идет хорошо.

создание пользователей таблицы (userdata OBJECT);

Однако в моих данных есть апостроф, то есть одинарные кавычки ипоэтому вставка не работает.Я повторил проблему на консоли:

Проблема в данных ниже связана с полем "snr".Я попытался вставить обратную косую черту, но это не помогает.

Может кто-нибудь сказать мне, как я могу получить следующую вставку в

INSERT into users (userdata) 
VALUES ('{"area_code": "2", "companyname": "TEC", "cos": "National24Hrs-Standard", 
"country_code": "AUS", "cucm_dn": "26902", "ddi": "84236902", "department": null, 
"device_type": "Cisco 8945 SIP", "divisionname": "Demonstrations", 
"emailaddress": "bart.simpson@core.demo.telstra.com", "extension": "26902", 
"extra1": null, "extra2": null, "extra3": null, "extra4": null, 
"featuregroup": "Mobile Worker", "firstname": "Bart", "information": null, 
"ippbxchosen": "TEC-CL-1", "language": "English - United States", "lastname": "Simpson", 
"locationname": "Sydney", "mask": "61284236902", "pickupgroup": null, "postcode": "2000", 
"presence": "Y", "role": "enduser", "security_profile": "EndUser-SP1", 
"snr": "Bart\'s Mobile:0457503561,Bart Simpson:457503561", 
"username": "bart.simpson@core.demo.telstra.com", "voicemail": "UCX-Advanced-CoS"}')

1 Ответ

0 голосов
/ 23 мая 2018

Вставка JSON string в типизированный столбец CrateDB object всегда будет неудачной, это не имеет никакого отношения к неправильному экранированию в вашем случае. Либо вставьте его как объект CrateDB (что, я думаю, вам нужно), чтобы получить преимущества доступа / поиска по каждому ключу / значению, либо измените тип данных на string.

См. Документацию по использованию литералов объектов https://crate.io/docs/crate/reference/en/latest/general/ddl/data-types.html#object-literals. Также большинство клиентских драйверов CrateDB поддерживают привязку данных в виде объектов.

...