| Начало » Использование СУБД » PostgreSQL » Как правильно написать json запрос на PostgreeSQL Переход к форуму:
	| 
		
			|  Как правильно написать json запрос на PostgreeSQL [сообщение #6128] | Tue, 24 June 2025 19:22  |  
			| 
				
				
					|  akakia Сообщений: 3
 Зарегистрирован: June 2025
 | Junior Member |  |  |  
	| Здравствуйте. Прошу вашей помощи. Подскажите мне, пожалуйста, как правильно мне оформить запрос, чтобы вернулся корректный json ? Вот мой запрос:
 
 после его выполнения я получаю некорректный json. Он весь экранирован кавычками, json валидаторы на него ругаются.
	SELECT array(SELECT json_build_object(
			        'department_id', d.department_id, 
					'department_name', dep.name,
			        'employeesDetails', (array(select json_build_object('id', e.id,
						'fio', e.fio,
						'resources', (array(select json_build_object(
							'active_time', e.active_time,
							'idle_time', e.idle_time,
							'type_app', e.type_app,
							'name_app', e.name_app
						)
						FROM employee_productivity e
						WHERE e.department_id = d.department_id) )
						)										
						FROM employee_productivity e
						WHERE e.department_id = d.department_id))
					)
			    FROM public.departments_productivity d
				inner join central.organization_department dep on dep.id = d.department_id
			    where date >= '2025-06-01' and date <= '2025-06-30'
			)
Вот что я получаю:
 
 А мне нужно получить вот такую структуру:
{"{\"department_id\" : \"bbe8601771c54b219d93a6b769078b37\", \"department_name\" : \"Тестирование\", \"employeesDetails\" : [{\"id\" : 2, \"fio\" : \"Charov Vlad\", \"resources\" : [{\"active_time\" : 1800, \"idle_time\" : 21000, \"type_app\" : \"PROGRAM\", \"name_app\" : \"Telegram\"}]}]}","{\"department_id\" : \"bbe8601771c54b219d93a6b769078b37\", \"department_name\" : \"Тестирование\", \"employeesDetails\" : [{\"id\" : 2, \"fio\" : \"Charov Vlad\", \"resources\" : [{\"active_time\" : 1800, \"idle_time\" : 21000, \"type_app\" : \"PROGRAM\", \"name_app\" : \"Telegram\"}]}]}","{\"department_id\" : \"bbe8601771c54b219d93a6b769078b37\", \"department_name\" : \"Тестирование\", \"employeesDetails\" : [{\"id\" : 2, \"fio\" : \"Charov Vlad\", \"resources\" : [{\"active_time\" : 1800, \"idle_time\" : 21000, \"type_app\" : \"PROGRAM\", \"name_app\" : \"Telegram\"}]}]}","{\"department_id\" : \"bbe8601771c54b219d93a6b769078b37\", \"department_name\" : \"Тестирование\", \"employeesDetails\" : [{\"id\" : 2, \"fio\" : \"Charov Vlad\", \"resources\" : [{\"active_time\" : 1800, \"idle_time\" : 21000, \"type_app\" : \"PROGRAM\", \"name_app\" : \"Telegram\"}]}]}"}
 как мне улучшить мой запрос ?
"employeesProductivity": [
			{
				"departmentId": 24,
				"departmentName": "Дизайн",
				"employeesDetails": [
					"employeeId": 98,
					"employeeName": "Иван Петров",
					"resources": [
						{
							"type": "PROGRAM",
							"name": "Telegram",
							"category": "Work",
							"categoryId": 2,
							"grade": "PRODUCTIVE",
							"activeTime": "12:43",
							"idleTime": "0:58"
						}
					]
				]
			}
		]
[Обновления: Tue, 24 June 2025 19:23] Известить модератора |  
	|  |  |  
	|  |  
	|  | 
 
 
 Текущее время: Fri Oct 31 16:02:02 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.00660 секунд |