JSON自动添加反斜杠

问题描述

您已经将其转换为JSON字符串,然后将其粘贴到JSON对象中,该对象会自动转义JSON字符串。尝试这样的事情:

User u=new User(name,lastName,email,phone,password);
Gson userGson=new GsonBuilder().create();
JSONObject params = new JSONObject();
params.put("user",user);
Log.e("in register", userGson.toJson(params));

解决方法

我试图使用Gson将Java对象转换为json。但是当我尝试打印出来时,我得到了这个JSON

{“ user”:“ {\” email \“:\” abc@gmail.com \“,\” lastName \“:\” Las \“,\” name
\“:\” amy \“,\” password \“:\” qwe123 \“,\”电话\“:\” 8901245244 \“}”}

我试过了

s.replace(“ \\”“,” \“”),但没有帮助,也不是一个好的方法。

此外,我经历了各种链接,但答案却模棱两可。

这是我的User类toString方法

 public class User implements Serializable
{ ...
@Override
public String toString()
{   return "User{" +
            "first_name:" + name+
            ",last_name:" + lastName+
            ",mobile:" + phone+
            ",email:" + email+
            ",password:" + password+
            "}";
}

我猜它甚至没有调用此toString方法。

这是我如何转换为JSON

        User u=new User(name,lastName,email,phone,password);
        Gson userGson=new GsonBuilder().create();
        String jo=userGson.toJson(u);

        JSONObject params=new JSONObject();
        params.put("user",jo);
        Log.e("in register",params.toString());

任何帮助表示赞赏。

相关问答

如何检查配对的蓝牙设备是打印机还是扫描仪(Android)
是否允许实体正文进行HTTP DELETE请求?
如何将ZipInputStream转换为InputStream?
java.util.logging Java 8中的变量
PowerMockito.doReturn返回null
JavaMail问题:无法将命令发送到SMTP主机