В JSON-RPC 1.0 может ли элемент "result" объекта ответа быть массивом?
Раздел 1.2 спецификации JSON-RPC 1.0 гласит: "результат - Объект, который был возвращен вызванным методом. Он должен быть нулевым в случае возникновения ошибки при вызове метода".
Это говорит о том, что результатом должен быть либо объект, либо null
, Тем не менее, примеры в разделе 4 показывают результаты, которые являются строками или числами.
Я предполагаю, что авторы спецификаций предназначались для всех типов (включая массивы), и что раздел 1.2 написан неправильно. Есть ли авторитетный источник, который может подтвердить или опровергнуть это?
(Примечание: спецификации v2.0 лучше, хотя все еще немного неоднозначны. В разделе 5 просто говорится: "Значение этого элемента [result] определяется методом, вызываемым на сервере", но, по крайней мере, примеры показывают Array в следствии)
1 ответ
Возврат любого значения json (включая массивы) возможен в соответствии со спецификацией.
Фразы немного плохи в этой части... должно было быть "значение" вместо "объект". Читая в нем, формулировка и спекуляция.... "объект" в том виде, в котором он написан, относится к тому, что возвращается в результате вызова..., а не к "объекту json", который возвращается по проводу... думать "строковый объект, массив объектов и т. д.".