我正在设置一个新的服务器和android,并希望将base64(image)从android发送到服务器。我将JSON用于android和服务器之间的数据格式,因此我必须将base64放入该JSON中,但是服务器无法解码我的base64,因为有一个符号,例如“ \ n,+”等等。我也尝试使用记事本替换“ \ n”,但服务器仍无法对其进行解码。
注意: 如果我使用Postman,则服务器可以正常工作
JSONArray data = new JSONArray();
for (int i = 0; i < listImage.size(); i++) {
//listImage.get(i).setBase64(map.get(listImage.get(i).getId()));
jsonObject = new JSONObject();
jsonObject.put("id",listImage.get(i).getId());
jsonObject.put("base64",map.get(listImage.get(i).getId()));
data.put(jsonObject);
}
jsonObject = new JSONObject();
jsonObject.put("image",data);
答案 0 :(得分:1)
JSONObject具有toString()方法,该方法将json对象的数据返回为String格式。您还可以查看UTF编码来编码特殊字符,以发出http请求而不会与URL中的特殊字符冲突。
jsonObject = new JSONObject();
jsonObject.put("image",data);
jsonObject.toString();
答案 1 :(得分:0)
将jason对象转换为字符串的最简单方法
JSONObject json = new JSONObject();
json.toString();
答案 2 :(得分:0)
谢谢您的回答...我已经找到了自己的解决方案,我需要在服务器端使用base64中的“ \ n”和“ \”替换为“ >