String s = "m\\"+"/m\\/m/m/m/m/m";      LinkedHashMap<String, String> hm = new LinkedHashMap<>();      hm.put("test", s);      System.out.println(hm+"  Hash map = "+hm.toString());   Fine Output is {test=m\/m\/m/m/m/m/m}  Hash map = {test=m\/m\/m/m/m/m/m}
    String s2 = new Gson().toJson(hm.toString());      System.out.println("Json result is "+s2);   Not Fine Output is Json result is "{test\u003dm\\/m\\/m/m/m/m/m}"
Is GSON going mad or is it something that I am doing wrong? What is happening to with Back Slashes and from where does this u003d appears? I knew that there exists a bug of this nature a long time ago but it was resolved.  How can I resolve this issue? Thanks in advance.
The = sign is encoded to \u003d. Hence you need to use disableHtmlEscaping().
You can use
Gson gson = new GsonBuilder().disableHtmlEscaping().create(); String s2 = gson.toJson(hm.toString());   For \/ turning into \\/ issue, the solution is 
s2.replace("\\\\", "\\"); 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With