Я пытаюсь использовать нативный Flask для создания API, используя request.get_ json, который, как я ожидал (из каждого учебного пособия или видео, которое я просмотрел), вернет словарь - но это список. Вытащить данные из списка сложнее, чем диктовку.
Сообщение написано из основного сценария Powershell, который читает файл CSV через import-csv, выполняет convertto- json и вызывает webrequest с -ContentType "application / json"
Я опередил JSON в powershell и поместил его в jsonlint.com - который сказал, что это действительно JSON. Открывающая (и закрывающая) скобка заставила меня взглянуть, не было ли это серии словарей в одном списке, которым он является.
JSON фрагмент:
[{"PO": «12345678», «Поставщик»: «BENZ», «Склад»: «BEZRS1», «ASIN»: «B07ZLJ7DPG», «Внешний идентификатор»: «1234567890», «Каталог»: «90210», «Заголовок»: « Persil «,« Тип окна »:« Окно доставки »,« Ожидаемая дата »:« 17.02.2020 »,« Запрошенное количество »:« 18 »,« Принятое количество »:« 18 »,« Полученное количество »:« 0 "," Количество в обращении ":" 8 "," Цена за единицу ":" 19,39 "," Скидка (%) ":" 0 "," Стоимость единицы ":" 19,39 "," Общая стоимость ":" 175,12 "} , {"PO": "987654321", "Vendor": "BENZ",
Powershell:
$payload = $file | convertto-json
Invoke-RestMethod -Uri http://127.0.0.1:5000/api -body $payload -method post -ContentType "application/json"
Flask (распечатка для отладки):
@app.route('/api', methods=['POST'])
def get_order():
data = request.get_json()
print(type(data))
purchaseorder = data[0]
print(purchaseorder)
return jsonify(data)