Dier_Sergio_Great
@Dier_Sergio_Great
Увлеченный человек

Как в MySQL из JSON-объекта получить массив?

в таблице имеется колонка с JSON значениями, каждая из которых имеет представляет объект
{"1":1,"2":1,"72":3}
другое значение
{"11":1,"23":1}

Как видно объект имеет поля цифр.
Как этот объект получить в виде массива ?
SELECT * FROM tbl t ,
		JSON_TABLE(t.json , '$[*]'
			COLUMNS(
				_index INT PATH '$[*]'
			)
		)  as tjson

Мне нужно получить все значения после двоеточий в виде массива.
  • Вопрос задан
  • 187 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Массивом никак, в MySQL нет типа данных для массива.
Строкой через запятую можно
SELECT GROUP_CONCAT(`json`)
  FROM JSON_TABLE(
    '{"1":1,"2":1,"72":3}',
    '$.*' COLUMNS(`json` INT PATH '$')
  ) as `t`;

| GROUP_CONCAT(`json`) |
| -------------------- |
| 1,1,3                |
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы