#json #google-bigquery
#json #google-bigquery
Вопрос:
У меня есть такой столбец с именем X, и мне нужно получить фазу после слова «name»
Вот пример одной строки типа json:
{"id":"5df8c913e069a09e0467179e","name":"Contacts in description","vote":"REFUSE","notice":{"text":"Contacts or URLs in description are not allowed on JamesEdition","severity":"PROBLEM"},"wordHighlighting":[{"words":[{"word":"yes","regex":"/^yes$/"}],"variableName":"$text.hasUrl"}]}
Итак, результат, который мне нужен в этом случае: Contacts in description
также иногда name
в одной строке их несколько: мне нужно захватить их все
Большое спасибо за внимание!
Комментарии:
1. вы упомянули «иногда в одной строке есть несколько имен: мне нужно захватить их все» — приведите пример и ожидаемый результат!
2. @MikhailBerlyant большое спасибо за ваш комментарий! Я бы хотел, чтобы у двух было два (или более) отдельных столбца с фразами «после»имени»»
3. вы должны обновить свой вопрос хорошим примером ввода и ожидаемого результата!!!
Ответ №1:
Попробуйте JSON_EXTRACT:
SELECT JSON_EXTRACT('{"id":"5df8c913e069a09e0467179e","name":"Contacts in description","vote":"REFUSE","notice":{"text":"Contacts or URLs in description are not allowed on JamesEdition","severity":"PROBLEM"},"wordHighlighting":[{"words":[{"word":"yes","regex":"/^yes$/"}],"variableName":"$text.hasUrl"}]}', '$.name')