从android中的Json String中删除反斜杠

时间:2016-07-31 18:16:09

标签: java android json parsing backslash

我需要一些关于从Json String中删除反斜杠的帮助。

这是我从服务器端获得的响应。

"response":"{\"time_zone\":\"\",\"session_token\":\"abcdefgHijklomopqrstuvwxyz\",\"user_login\":\"abc\",\"user_profile_img\":\"http://jhjhjhj.org/system/photos/62/medium/images.jpg?1462446436\",\"success\":\"0\",\"org_admin\":\"\",\"user_id\":\"62\",\"user_org_id\":\"101\",\"phone_mobile\":\"510-427-9639\",\"user_email\":\"abc@pdmoffice.com\"}"}

我从此String中删除反斜杠的内容

result.replaceAll(" \\""&#34);

比之后它会给我这个不在Json Formate中的字符串。

{"response":"{"time_zone":"","session_token":"nskfndkjfsfsdffjsdfd","user_login":"newoff2","user_profile_img":"http://absdds.org/system/photos/62/medium/images.jpg?1462446436","success":"0","org_admin":"","user_id":"62","user_org_id":"101","phone_mobile":"510-427-9639","user_email":"hjhjh@pdmoffice.com"}"}

它给我Exaption

    org.json.JSONException: Unterminated object at character 17 of 

{"response":"{"time_zone":"","session_token":"kjshhdscncnxzcxclx","user_login":"newoff2","user_profile_img":"http://abcd.org/system/photos/62/medium/images.jpg?1462446436","success":"0","org_admin":"","user_id":"62","user_org_id":"101","phone_mobile":"510-427-9898","user_email":"sdgas@pdmoffice.com"}"}

如何使用Proper Json Formate删除此反斜杠?

提前致谢

4 个答案:

答案 0 :(得分:2)

命令

result.replaceAll("\\","");

是正确的,如果您尝试使用在线json格式化程序(https://jsonformatter.curiousconcept.com/)显示服务器响应,则可以清楚地看到字符串格式不正确。 “响应”之后的双引号和结尾的双引号不是必需的。

答案 1 :(得分:1)

从 JSON 字符串中删除反斜杠的替代方法。

s = Your String with Back Slash

用于将字符串转换为 JSONObject:

JSONObject jsonObject = new JSONObject(s);

用于将字符串转换为 JSONArray:

JSONArray jsonArray = new JSONArray(s);

答案 2 :(得分:0)

更新时间:2019年8月 通过自动省略反斜杠,将Google的Gson解析为Json:

JAVA代码:

    JsonParser jsonParser = new JsonParser();
    JsonObject jsonObject = jsonParser.parse("your jsonString with backslash").getAsJsonObject();

科林码:

    val jsonParser = JsonParser()
    val jsonObject = jsonParser.parse("your jsonString with backslash").asJsonObject

答案 3 :(得分:0)

你可以试试这个,它会工作得很好

String jsonStr4 = jsonStr3.replaceAll("\"", "");