Я использую CF11 с ORM и сервисным уровнем для возврата объектов ORM. Мое приложение Angular требует, чтобы даты JSON возвращались в одном из двух следующих форматов:
'yyyy/MM/dd' (i.e., '2014/08/25')
'yyyy/MM/dd HH:mm:ss' (i.e., '2014/08/25 16:35:10')
Моя служба CFC возвращает массив объектов в виде строки JSON, но Coldfusion сериализует даты в строковом формате, например: April, 21 2016 04:45:56
. Похоже, это результат функции SerializeJson(), которая вызывается под капотом.
Есть ли способ заставить ORM CFC возвращать объект даты в определенном строковом формате JSON? В качестве обходного пути я создал новое свойство с именем startTimeAsJson, которое возвращает строку с помощью функции получения. Но я бы предпочел найти способ, чтобы CF просто сериализовал объект даты в нужном мне формате.
Вот мой объект ORM.
component persistent="true" table="course" accessors="true"
{
property name="startTime" column="start_time" type="date" ormtype="timestamp" notnull="false";
}
Мой объект сервисного уровня.
component output="false" hint="CFBuilder-Generated:test_date"
{
remote orm.course[] function getAllCourses(string SortColumn = "STARTDATE DESC")
{
return entityLoad("course", {}, arguments.sortcolumn);
}
}
Пример JSON, возвращаемый моей службой CFC.
[{"startTime":"May, 09 2016 08:25:24"}]