2017-02-01 14 views
-1

私はAWSで設定したFlaskサーバーとAndroidとの通信を試みています。私はJSONObjectの中に入れたいくつかのデータを持っており、私はそれをサーバーへのPOST要求で送信しています。サーバーからの適切なJSON応答を受け取りません

FlaskサーバーはこのJSONを受け取り、解析し、さらに適切な操作を行います。しかし、ResponseをAndroidに送り返すと、それはまったく識別できないようです。

私はFlaskリターン部分で間違っていると思いますが、正確にはわからないのです。

はここFlaskリターンコードです:

JsonObjectRequest request = new JsonObjectRequest(
      Request.Method.POST, 
      URL, 
      data, 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 
        Log.d("JSON_TAG", response.toString()); 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        error.printStackTrace(); 
       } 
      } 
    ) 

    { 
     @Override 
     protected Map<String, String> getParams() throws AuthFailureError { 
      return super.getParams(); 
     } 

     @Override 
     public Map<String, String> getHeaders() throws AuthFailureError { 
      //return super.getHeaders(); 
      Map<String,String> headers = new HashMap<>(); 
      headers.put("Content-Type","application/json"); 
      return headers; 
     } 
}; 

Androidアプリケーションだけでアイドルまま:

parsed_results = parse_text(results) 

#json_x = json.dumps({'id':str(status.inserted_id), 'Result':'OK', 'data': parsed_results}) 
return Response(json.dumps({'id': str(status.inserted_id), 'Result': 'OK', 'data': parsed_results, 'raw_data': results}), mimetype='application/json'), 200 


if __name__ == "__main__": 
    app.run(host='0.0.0.0', debug=True) 

ここでAndroidのListenerコードです。どこが間違っていますか?どんな助けでも大歓迎です。ありがとう!

答えて

-1

私はこの問題を解決しました。問題は非常に明白でした - サーバーからのリターンステートメントが一致していません。 jsonifyを使用すると、データをサーバーに返すことができました。

from flask import jsonify 

results = parse_results(data) 

return jsonify(results) 

チャームのように働いた!

関連する問題