С RFC 8259 ( Обратите внимание, что я не уверен, является ли это последним RFC для JSON ):
5. Массивы
Структура массива представляется в виде квадратных скобок, окружающих
ноль или более значений (или элементов). Элементы разделены
запятые.
массив = начальный массив [значение * (значение-разделитель значений)] конечный массив
Нет требования, чтобы значения в массиве были одинаковыми
тип.
Теперь GSON
, похоже, делает что-то вроде интерпретации последнего предложения, так что null
является значением. Итак, после вашей последней запятой есть нулевое значение.
Вы также можете проверить, что произойдет, если десериализовать следующее:
{
id: 142,
fields: [
{ fieldId: 50, value: 0 },,,,,,
{ fieldId: 51, value: 0 },
]
}
Как вы можете догадаться, объектов null
будет столько же, сколько дополнительных запятых.
Я бы не сказал, что это поведение является проблемой, и я не могу сказать, что это против RFC.