string. Преобразование объекта Parser в JSON-строку
|
|
По-умолчанию
|
Описание
|
$.skip-unknown(true|false)
|
false
|
При указании значения true вместо exception в результирующую JSON-строку будут выдаваться значения 'null' при сериализации объектов с типами, отличными от void, bool, string, int, double, date, table, hash и file.
|
$.indent(true|false)
$.indent[строка] |
false
|
При указании значения true будет включено форматирование результирующей JSON-строки символами табуляции по глубине вложенности.
Можно указать строковое значение, которое будет использоваться как префикс при формировании строки с отступами. [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",...],...] |
$.file[text|base64|stat]
|
не определена
|
Опция определяет вид, в котором значения объектов типа file будут попадать в результирующую JSON-строку.
По умолчанию (если данная опция не определена или её значение равно stat) в результирующую JSON-строку попадает информация об объектах класса file (имя файла, размер, content-type, mode), но их содержимое не попадает. |
$.xdoc[параметры преобразования в текст]
|
не определена
|
Опции преобразования объекта класса xdoc в строку [3.4.2]
|
$.класс[ссылка на метод]
|
не определена
|
Любой класс (включая вышеупомянутые date, table и file) можно вывести используя пользовательский метод, который должен принимать 3 параметра: ключ, объект и опции вызова ^json:string[] (последнее нужно для рекурсивного вывода пользовательских объектов).
Поиск методов происходит во всех родительских классах. [3.4.2] |
$._default[ссылка на метод]
|
не определена
|
Если опция определёна, то метод будет вызываться для вывода всех объектов пользовательских классов (кроме тех, вывод которых явно задан с помощью опции $.класс[ссылка на метод]). Метод должен принимать 3 параметра: ключ, объект и опции вызова. [3.4.2]
|
$._default[название метода]
|
не определена
|
Если опция определёна и метод с указанным именем есть у объекта пользовательского класса, метод будет вызван для вывода объекта (кроме объектов тех классов, вывод которых явно задан с помощью опции $.класс[ссылка на метод]). Метод должен принимать 2 параметра: ключ и опции вызова. [3.4.4]
|
$.one-line(true|false)
|
false
|
При указании значения true результат будет возвращен в виде одной строки. [3.4.5]
|
User comments:
Sumo | 08.04.2018 08:43 |
В версии 3.4.5 добавлена опция $.one-line(true) — вывести результат в одну строку. Полезно, например, если требуется записать JSON в файл лога. |
Copyright © 19972021 Art. Lebedev Studio | http://www.artlebedev.ru | Дата обновления: 25.01.2021 |