Как получить данные из POST запроса в аналогии с PHP?

Есть сервисы которые присылают данные post запросом с многомерными данными
Пример приходящих данных на PHP

Array
(
    [data] => Array
        (
            [a] => aaa
            [b] => bbb
        )

    [test] => Array
        (
            [0] => 1
            [1] => 2
        )

)


строка для эмуляции запроса в командной строки bash

curl -d "data[a]=aaa&data[b]=bbb&test[]=1&test[]=2" -X POST https://url/test


Вопрос заключается в том, как получить данные корректно на pyton, чтобы можно было удобно работать с ними в режиме словаря

Вид данных на python

pprint(request.values)

{'data[a]': 'aaa',
 'data[b]': 'bbb',
 'test[]': '1'}


c получением test[] проблем нет, все значения получаются через request.form.getlist('test[]')

а вот с data так не проходит.

Существует ли способ преобразовать эти данные в вид
{'data': {'a': 'aaa', 'b': 'bbb'}}
для более удобной обработки ?

Дополнение:
вероятно я несколько не корректно сформировал вопрос, все данные мне уже приходят на мой скрипт
@application.route('/test',methods=['POST'])
def bot():
  • Вопрос задан
  • 119 просмотров
Решения вопроса 1
access
@access Автор вопроса
Решил задачу с помощью этого https://github.com/bernii/querystring-parser
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
в классике это должно быть так
import json
import requests

response = requests.get(...)
json_data = json.loads(response.text)

а вообще, без конкретики трудно что-то дельное сказать
Ответ написан
@antonksa
Это все пэпэхе и данные form-url-encode

Передайте данные в JSON в body и прекращайте кушать кактус.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
или ast или json.loads

грузишь в обьект - тип данных, потом его форматируешь
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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