我已经在post方法中创建了一个API,它在postman中工作得很好,即它给出了所需的响应。但是在Android中使用该API时会出错:
转换结果java.io.FileNotFoundException和解析数据时出错的错误org.json.JSONException:
的字符0处的输入结束
我很感激有人指导我如何做到这一点。
以下是makeHttpRequest
的{{1}}方法的代码:
jsonparser
答案 0 :(得分:1)
首先,在调用conn.getInputStream();
之前,您没有检查请求是否成功。如果请求失败,则该流为空并且您需要调用
new BufferedReader(new InputStreamReader(connection.getErrorStream()));
哪个行号会给您带来问题?如果您打印出JSON以确保响应是有效的JSON。
答案 1 :(得分:0)
将此添加到您的代码中:
conn.setDoInput(true); //After or before of setDoOutput(true) for organization :)
conn.setChunkedStreamingMode(0);
conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");
编辑:
如果您需要为服务器上传JSON,那么这就是
conn.setRequestProperty("Content-Length", "" + Integer.toString(JsonObjectstr.getBytes().length)); // Get the json string length