пиреквесты, кодирующие значения dict как списки в JSON - PullRequest
2 голосов
/ 22 марта 2019

Я работаю над Python-клиентом для REST API и использую запросов для связи с сервером.Однако при использовании метода post я получаю странное поведение.

Вот код, который отправляет запрос:

nombre = 'Daniel'
email  = 'foo@bar.baz'

object = {
    'nombre': nombre,
    'email': email
}

r = requests.post(some_url,
                  json=object)

Теперь я ожидаю, что JSON в запросе будетчто-то вроде

{"nombre": "Daniel", "email": "foo@bar.baz"}

Однако в Wireshark я вижу только

{"nombre": ["Daniel"], "email": ["foo@bar.baz"]}

, который сервер, очевидно, не может понять.Я не уверен, является ли это предполагаемым поведением библиотеки, но я так не думаю.Я мог бы решить это путем кодирования вручную в JSON, но мне кажется, что в этом нет необходимости.

1 Ответ

0 голосов
/ 22 марта 2019

Попробуйте это

 import json

 nombre = 'Daniel'
 email  = 'foo@bar.baz'

 object = {
   'nombre': nombre,
   'email': email
 }

  r = requests.post(some_url,
              json=json.dumps(object))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...