В JSON-RPC 1.0 может ли элемент "result" объекта ответа быть массивом?

Раздел 1.2 спецификации JSON-RPC 1.0 гласит: "результат - Объект, который был возвращен вызванным методом. Он должен быть нулевым в случае возникновения ошибки при вызове метода".

Это говорит о том, что результатом должен быть либо объект, либо null, Тем не менее, примеры в разделе 4 показывают результаты, которые являются строками или числами.

Я предполагаю, что авторы спецификаций предназначались для всех типов (включая массивы), и что раздел 1.2 написан неправильно. Есть ли авторитетный источник, который может подтвердить или опровергнуть это?

(Примечание: спецификации v2.0 лучше, хотя все еще немного неоднозначны. В разделе 5 просто говорится: "Значение этого элемента [result] определяется методом, вызываемым на сервере", но, по крайней мере, примеры показывают Array в следствии)

1 ответ

Решение

Возврат любого значения json (включая массивы) возможен в соответствии со спецификацией.

Фразы немного плохи в этой части... должно было быть "значение" вместо "объект". Читая в нем, формулировка и спекуляция.... "объект" в том виде, в котором он написан, относится к тому, что возвращается в результате вызова..., а не к "объекту json", который возвращается по проводу... думать "строковый объект, массив объектов и т. д.".

Другие вопросы по тегам