169 похожих чатов

Кто-Нибудь может подсказать, как мапу с листом внутри упаковать в

query params?


iex(98)> %{
...(98)> "callbackType" => "json",
...(98)> "customer_email" => "",
...(98)> "customer_phone" => "",
...(98)> "products" => [%{"name" => "name", "price" => "1234", "quantity" => "1"}],
...(98)> } |> Query.encode()
** (ArgumentError) cannot encode maps inside lists when the map has 0 or more than 1 element, got: %{"name" => "name", "price" => "1234", "quantity" => "1"}


Если в листе только один ключ - всё окей. Но надо именно так.
Проблема в том, что сначала эти параметры кодятся в Jason.encode, после чего подписываются ключом и ключ добавляется к этим параметрам.

Сейчас приходится параметры как выше сначала энкодить и подписывать, а потом в этих параметрах ключ products менять на:


Map.put(params, "products", %{"0": %{"name" => "name", "price" => "1234", "quantity" => "1"}})


и после этого в


URI.new!("http://asdf/") |> URI.append_query(Query.encode(params))


Что мне кажется максимально коряво.

4 ответов

18 просмотров

Есть либа, которая это упаковывает. Может @fried_zucchini подскажет

Lama Lover
Есть либа, которая это упаковывает. Может @fried_z...

если ты про ut, то она тоже такое не поддерживает, в рфц ничего про карты в списках не было

Fried Zucchini
если ты про ut, то она тоже такое не поддерживает,...

Не, есть другая либа, которая кверю кодирует

Lama Lover
Не, есть другая либа, которая кверю кодирует

мне кажется такое только form-style можно закодировать

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта