如何将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);


慕后森
浏览 272回答 3
3回答

慕工程0101907

JSONObject 具有 toString() 方法,可将 json 对象数据返回为 String 格式。您还可以查看 UTF 编码来编码特殊字符,以在不与 URL 中的特殊字符冲突的情况下发出 http 请求。jsonObject = new JSONObject();jsonObject.put("image",data);jsonObject.toString();

慕少森

谢谢你们的回答……我找到了自己的解决方案,我需要在服务器端用 base64 中的“”替换“\n”和“\”

跃然一笑

将 jason 对象转换为字符串的最简单方法JSONObject&nbsp;json&nbsp;=&nbsp;new&nbsp;JSONObject(); json.toString();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java