Size: a a a

2020 February 12

IK

Ilya Kaznacheev in pro.elixir
Импортный 🙂
источник

AM

Azat Murtazin in pro.elixir
typed_data |> Map.delete(:__struct__) |> Jason.encode()
источник

AM

Azat Murtazin in pro.elixir
Возможно правильнее было бы преобразовать исходную чужую структуру в свою собственную, в которой будет derive Jason.Encoder и всё такое, но это код писать надо, знаете ли :)
источник

ДС

Дмитрий Свидерский in pro.elixir
А почему Map.delete, а не Map.from_struct?
источник

AM

Azat Murtazin in pro.elixir
Можно и так
источник

a

arikai in pro.elixir
Ilya Kaznacheev
Так пакет не мой
Так имплементацию можно определить и для чужих пакетов
источник

a

arikai in pro.elixir
defimpl Jason.Encoder, for: ForeignStruct и вперёд
источник

LL

Lama Lover in pro.elixir
Ilya Kaznacheev
Господа, подскажите, как решить проблему
Получаю некий тип данных, хочу его вернуть как JSON в фениксе
Получаю ошибку protocol Jason.Encoder not implemented
Как это можно красиво обойти?
Но в случае с Jason, лучше это делать через @derive . Скажи в каком пакете ошибка, я PR напишу
источник

IK

Ilya Kaznacheev in pro.elixir
Lama Lover
Но в случае с Jason, лучше это делать через @derive . Скажи в каком пакете ошибка, я PR напишу
https://github.com/jonasschmidt/ex_json_schema, ошибка когда пробую результат валидации в json конвертнуть
источник

IK

Ilya Kaznacheev in pro.elixir
ExJsonSchema.Validator.validate
источник

LL

Lama Lover in pro.elixir
Ilya Kaznacheev
ExJsonSchema.Validator.validate
А как ты создаёшь схему?
Которая первый аргумент
источник

LL

Lama Lover in pro.elixir
И в этой либе нет jason зависимости
источник

IK

Ilya Kaznacheev in pro.elixir
def client_schema do
   %{
     "type" => "object",
     "required" => [
       "data"
     ],
     "properties" => %{
       "data" => %{
         "type" => "string"
       }
     }
   } |> ExJsonSchema.Schema.resolve()
 end
источник

IK

Ilya Kaznacheev in pro.elixir
Lama Lover
И в этой либе нет jason зависимости
Так я у себя результат пробую в фениксовский json засунуть
источник

LL

Lama Lover in pro.elixir
Похоже твоя проблема была в том, что ты пытался сделать Jason.encode для структуры
источник

LL

Lama Lover in pro.elixir
А Jason в  это не умеет
источник

IK

Ilya Kaznacheev in pro.elixir
А как правильно?
источник

LL

Lama Lover in pro.elixir
Ilya Kaznacheev
А как правильно?
Я не знаю что ты конкретно делаешь, поэтому и не могу подсказать. Ты можешь скинуть код а я попробую его понять :\
источник

LL

Lama Lover in pro.elixir
Ilya Kaznacheev
Так я у себя результат пробую в фениксовский json засунуть
Так validate возвращает же что-то типа :ok | {:error [{binary(), binary()}]}
источник

IK

Ilya Kaznacheev in pro.elixir
Вот я [{binary(), binary()}] хочу вернуть как чать жсона
источник