2015-09-01 3 views
0

Я работаю с распределенной системой, в которой приложение 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?

+0

http://flask.pocoo.org/docs/0.10/api/#flask.Request.get_json – taesu

ответ

1
@app.route('/index',methods=['POST']) 
def index(): 
    json = request.get_json() 
+0

= request.get_json JSON (сила = True) работал для меня. Большое спасибо. – user61629

Смежные вопросы