Я использую библиотеку jsonata для сравнения значений, введенных с экрана, со значениями в списке оболочки. Здесь я ввожу диапазон дат из пользовательского интерфейса и сравниваю его с датой в моем списке оболочек, конвертируя обе даты в метку времени Unix эпохи с помощью метода DateTime.getTime ().
например, Мой JSON:
{
"lstData": [
{
"strFieldName":"ActivityDate",
"strValue": "2020-06-28"
"dateTimeStamp": 1594857600000
},
{
"strFieldName":"ActivityDate",
"strValue": "2020-07-10",
"dateTimeStamp": 1595116800000
},
{
"strFieldName":"ActivityDate",
"strValue": "2020-07-25",
"dateTimeStamp": 1595289600000
}
]
}
И входные StartDate и EndDate: 2020-07-20 и 2020-07-30, где StartDate.getTime () - 1595721600000 и EndDate.getTime () - 1596240000000
Запрос Jsonata: lstData [strFieldName = "ActivityDate" и (dateTimeStamp> = 1595721600000 и dateTimeStamp <= 1596240000000)] </p>
ЗАПРОС ВЫШЕ НЕ РАБОТАЕТ. Я пробовал много других способов сравнения дат с использованием jsonata, но ничего не работает. Если я удалю приведенное выше сравнение дат, тогда запрос будет работать, т.е. lstData [strFieldName = "ActivityDate"] работает. Но в сравнении дат, которое я пытаюсь найти, есть ошибка.
Может ли кто-нибудь помочь мне с правильным синтаксисом для дат в jsonata?
Спасибо, Шрути