Spec-Zone.ru › Elixir 1.18

Исходный код JSON.Encoder протокол

Протокол для пользовательского кодирования данных структур в формате JSON.

Если у вас есть структура, вы можете вывести реализацию этого протокола, указав, какие поля должны быть закодированы в JSON:

  @derive {JSON.Encoder, only: [....]}
  defstruct ...

Также можно закодировать все поля или пропустить некоторые поля с помощью опции :except.

@derive JSON.Encoder
defstruct ...

Утечка конфиденциальной информации

Подход :except следует использовать с осторожностью, чтобы случайно не раскрыть конфиденциальную информацию при добавлении новых полей.

Наконец, если вы не владеете структурой, которую хотите закодировать в JSON, вы можете использовать Protocol.derive/3 вне любого модуля:

Protocol.derive(JSON.Encoder, NameOfTheStruct, only: [...])
Protocol.derive(JSON.Encoder, NameOfTheStruct)

Краткое описание

Типы

t()

Все типы, реализующие этот протокол.

Функции

encode(термин, кодировщик)

Функция, вызываемая для кодирования данного термина в iodata/0.

Типы

t()Исходный код

@type t() :: term()

Все типы, реализующие этот протокол.

Функции

encode(термин, кодировщик)Исходный код

Функция, вызываемая для кодирования данного термина в iodata/0.

Скачать версию ePub

Создано с помощью ExDoc (v0.36.1) для языка программирования Elixir

© 2012-2024 The Elixir Team
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/elixir/1.18.1/JSON.Encoder.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API