Я работаю с распределенной системой, в которой приложение php отправляет почтовый запрос в приложение для флип-панели python.TypeError: ожидаемая строка или декодирование буфера json in flask
У меня есть 2d массив PHP ($ данных), который выглядит как:
array(3) { [0]=> array(2) { ["a"]=> 'aaa' ["token"]=> string(55) "146bf00b2cb8709" } [1]=> array(2) { ["a"]=> string(52) "bbb" ["token"]=> string(55) "146bf00b2cb96e74302" } [2]=> array(2) { ["a"]=> string(52) "ccc" ["token"]=> string(55) "146bf00b2cb96e6c422417" } }
следующие How to Send 2D array through php cURL
У меня есть:
$json = json_encode($data);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
$output=curl_exec($ch);
В колбу, мой код:
@app.route('/index',methods=['POST'])
def index():
import json
r = request # receives request from php
json = json.loads(r.form)
и я могу видеть, что запрос приходит через, как JSON:
>>> r.form
Out[12]: ImmutableMultiDict([('[{"a":"aaa","token":"146bf00b2cb96e6c425c2ab3f7daa11c55e4bc6eb5f2d5.46266037"},{"a":"bbb","token":"decdbc1691816cae83392e2a379a2c2555e4bc60df5f86.89400754"},{"a":"ccc","token":"146bf00b2cb96e6c425c2ab3f7daa11c55e4bc6e039320.76477875"}]', u'')])
Но я не могу показаться, чтобы получить его в оформленную форму. Я получаю ошибку выше. Как я могу получить доступ к этой строке JSON?
http://flask.pocoo.org/docs/0.10/api/#flask.Request.get_json – taesu