Существует несколько проблем с JSON, предоставленных вами:
Отсутствует ,
между devices
& fingerPrint
тегами
"устройства": "1" "fingerPrint": ""
Ваш тег rules
похож на следующий
"rules": {
"540828":"Store_App_Fingerprint",
"576196":"App_email_domain"
}
Как видите, ключ 540828
& 576196
, а не Store_App_Fingerprint
& App_email_domain
.
Если вы хотите получить доступ к rules.App_email_domain
, вам нужно изменить свой JSON следующим образом:
"rules": {
"Store_App_Fingerprint":"540828",
"App_email_domain":"576196"
}
Свы пытаетесь выбрать элемент гнезда, вы должны использовать нотацию .
для перехода к определенному полю.
например
Текущий: parse_json(column1):App_email_domain::string as App_email_domain
Обновлено: parse_json(column1):rules.App_email_domain::string as App_email_domain
Вот рабочий пример:
SELECT
parse_json(column1):country::string as country
, parse_json(column1):auto::string as auto
, parse_json(column1):orderNumber::string as orderNumber
, parse_json(column1):language::string as language
, parse_json(column1):rules::string as rules
, parse_json(column1):rules.App_email_domain::string as App_email_domain
, parse_json(column1):deviceLayers::string as deviceLayers
FROM VALUES
('{
"country": "",
"auto": "R",
"orderNumber": "contraact123",
"language": "",
"rules": {
"Store_App_Fingerprint": "540828",
"App_email_domain": "576196"
},
"deviceLayers": "....",
"mode": "Q",
"score": "29",
"merchantId": "124300",
"vmax": "0",
"warningCount": 0,
"brand": "NONE",
"errorCount": 0,
"knowYourCustomer": "N",
"kaptcha": "N",
"counters": {},
"pcRemote": "",
"devices": "1",
"fingerPrint": ""
}') v;
Результат:
+---------+------+--------------+----------+----------------------------------------------------------------+------------------+--------------+
| COUNTRY | AUTO | ORDERNUMBER | LANGUAGE | RULES | APP_EMAIL_DOMAIN | DEVICELAYERS |
+---------+------+--------------+----------+----------------------------------------------------------------+------------------+--------------+
| | R | contraact123 | | {"App_email_domain":"576196","Store_App_Fingerprint":"540828"} | 576196 | .... |
+---------+------+--------------+----------+----------------------------------------------------------------+------------------+--------------+