| Опция | По умолчанию | Описание |
|
$.skip-unknown(true|false) | false | При указании значения true вместо exception в результирующую JSON-строку будут выдаваться значения null при сериализации объектов с типами, отличными от void, bool, string, int, double, date, table, hash и file |
$.indent(true|false) | false | При указании значения true будет включено форматирование результирующей JSON-строки символами табуляции по глубине вложенности |
$.indent[строка] | | Можно указать строковое значение, которое будет использоваться как префикс при формировании строки с отступами. [3.4.3] |
$.date[sql-string|gmt-string|iso-string|unix-timestamp] | sql-string | Опция определяет вид, в котором значения объектов класса date будут попадать в результирующую JSON-строку (см. одноименные методы объекта класса date). |
$.void[null|string] | null | Опция определяет вид, в котором значения объектов класса void будут попадать в результирующую JSON-строку. По умолчанию выводится null, но возможна выдача в виде пустой строки. [3.4.4] |
$.table[object|array|compact] | object | Опция определяет вид, в котором значения объектов класса table будут попадать в результирующую JSON-строку |
| | object: [{"col1":"val11","col2":"val12",…}, {"col1":"val21","col2":"val22",…},…]; |
| | array: [["col1","col2",…] || null (для nameless-таблиц),["val11","val12",…],…]; |
| | compact: ["value11" || ["val11", "val12",…],…]. |
$.array[compact|array|object] | compact | Опция определяет вид, в котором значения объектов класса array будут попадать в результирующую JSON-строку [3.5.0] |
| | compact: ["v0","v2",…] |
| | array: ["v0",null,"v2",…] |
| | object: {"0":"v0","2":"v2",…} |
$.file[text|base64|stat] | не определена | Опция определяет вид, в котором значения объектов типа file будут попадать в результирующую JSON-строку. |
| | Если опция не определена или ее значение равно stat, в результирующую JSON-строку попадает информация об объектах класса file (имя файла, размер, content-type, mode), но их содержимое не попадает. |
$.xdoc[параметры преобразования в текст] | не определена | Опция преобразования объекта класса xdoc в строку [3.4.2] |
$.класс[ссылка на метод] | не определена | Любой класс (включая вышеупомянутые date, table и file) можно вывести, применяя пользовательский метод, который должен принимать три параметра: ключ, объект и опции вызова ^json:string[] (последнее нужно для рекурсивного вывода пользовательских объектов). |
| | Поиск методов происходит во всех родительских классах. [3.4.2] |
$._default[ссылка на метод] | не определена | Если опция определена, то метод будет вызываться для вывода всех объектов пользовательских классов (кроме тех, вывод которых явно задан с помощью опции $.класс[ссылка на метод]). Метод должен принимать три параметра: ключ, объект и опции вызова. [3.4.2] |
$._default[название метода] | не определена | Если опция определена и метод с указанным именем есть у объекта пользовательского класса, метод будет вызван для вывода объекта (кроме объектов тех классов, вывод которых явно задан с помощью опции $.класс[ссылка на метод]). Метод должен принимать два параметра: ключ и опции вызова. [3.4.4] |
$.one-line(true|false) | false | При указании значения true результат будет возвращен в виде одной строки. [3.4.5] |