如何将json转换为字符串而没有换行符和其他格式

时间:2019-04-25 06:52:55

标签: java android json

我正在设置一个新的服务器和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);

3 个答案:

答案 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”和“ \”替换为“