com.google.apps.appmaker.shared.json.JsonException: JSON не является объектом - PullRequest
0 голосов
/ 05 октября 2019

У меня есть небольшой подсчитанный источник данных, который объединяет несколько таблиц, выполняет некоторые холодные вычисления на странице с использованием функций и затем отображает их в большой таблице. У него есть селектор месяца и года, так как он имеет дело с ежемесячным выставлением счетов. Он будет возвращаться каждый месяц, кроме одного. Что, конечно, самое последнее (сентябрь). Таблица настроена так, чтобы не загружаться автоматически, поэтому я не смотрю на весь источник данных сразу. Обычно можно установить месяц, установить год, нажать «Генерировать», и счетчик будет работать несколько секунд, а затем отобразится.

Для сентября он запускается на несколько мгновений, а затем в консоли отображается ошибка «com.google.apps.appmaker.shared.json.JsonException: JSON не является объектом»

Я пытался поменять местами различные фильтры в предложении where, я случайно удалял строки из моего набора данных, думая, что, возможно, это проблема с данными, поскольку она будет работать для всех остальных моих данных. Может быть, где-то уцелевший персонаж возится с источником. Стоит отметить, что я не делаю никаких JSON-манипуляций, о которых мне известно.

Вот запрос источника данных

   SELECT ParticipantData.VRS_Office as Office, 
ServiceData.Participant_Name as Consumer_Name, 
ServiceData.Service as Service, 
ServiceData.Auth_Number as Auth_Num,
MONTH(ActivityData.Date) as ActivityMonth, 
YEAR(ActivityData.Date) as ActivityYear,
Round(SUM(ActivityData.Hours_Used),1) as Hours, 
Round(SUM(ActivityData.Mileage_Used),1) as Miles,
ServiceData.ReadyForBilling as ReadyForBilling,
ServiceData.OtherDescription as OtherDescription,
ServiceData.OtherLumpSumAmount as OtherAmount,
ServiceData.Start_Date as Start_Date,
ServiceData.End_Date as End_Date,
ServiceData.InvoicingComplete as InvoicingComplete,
ServiceData.Participant_ID as Participant_ID
FROM (( ActivityData
INNER JOIN ServiceData ON ActivityData.Auth_Number = ServiceData.Auth_Number)
INNER JOIN ParticipantData ON ActivityData.Participant_ID = ParticipantData.Participant_ID)
WHERE MONTH(ActivityData.Date) = :MonthSelector AND YEAR(ActivityData.Date) = :YearSelector 
GROUP BY Auth_Num, ActivityMonth, ActivityYear, Office, Consumer_Name, Service, Participant_ID, OtherDescription, OtherAmount, Start_Date, End_Date, InvoicingComplete, ReadyForBilling
ORDER BY Consumer_Name ASC;

Данные являются конфиденциальными, но я могу предоставить любую информацию, какую могу,Недавно базы данных были изменены, чтобы использовать datetime вместо date в качестве типа поля sql, но я не знаю, является ли это случайным или нет.

Существуют ли какие-либо специальные символы, за которыми я должен следить, что может вызвать такую ​​ошибку?

1 Ответ

0 голосов
/ 08 октября 2019

Некоторые из представленных значений были холодным образом рассчитаны в таблице для получения сумм по таблице тарифов.

Короче говоря, кто-то поместил описание в поле, с которым пытался заниматься математикой. Я исправил данные, и ошибка испарилась.

Я пришел к этому наиболее поддерживающим способом, я думаю, что мог бы иметь. Я случайно удалил записи в среде QA, которую я настроил, пока она не заработала, а затем сузил их до небольшого набора записей. Тогда это было просто заметить разницу.

Извлеченный урок, требуется подтверждение данных.

...