【问题标题】:Not receiving appropriate JSON response from Server未从服务器接收到适当的 JSON 响应
【发布时间】:2017-02-01 12:02:02
【问题描述】:

我正在尝试在 Android 和我在 AWS 上设置的 Flask 服务器之间进行通信。我有一些数据放在JSONObject 中,并通过 POST 请求将其发送到服务器。

Flask 服务器接收这个 JSON,解析它,甚至进行适当的操作。但是,当我将Response 发送回 Android 时,它似乎根本无法识别它。

我相信我在Flask 返回部分出错了,但我不知道具体在哪里。

这是Flask 返回码:

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 代码:

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 应用程序只是保持空闲状态。我哪里错了?任何帮助将不胜感激。谢谢!

【问题讨论】:

    标签: android python json flask android-volley


    【解决方案1】:

    我解决了问题,伙计们。问题非常明显——来自服务器的返回语句不匹配。通过使用jsonify,我能够将数据返回到服务器。

    from flask import jsonify
    
    results = parse_results(data)
    
    return jsonify(results)
    

    工作就像一个魅力!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-01
      • 2018-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-09
      • 2018-02-04
      相关资源
      最近更新 更多