我正在尝试使用 Gson 将 java 对象转换为 json。但是当我尝试打印它时,我得到了这个 JSON
{"user":"{\"email\":\"abc@gmail.com\",\"lastName\":\"Las\",\"name\":\"amy\",\"password\":\"qwe123\",\"phone\":\"8901245244\"}"}
我试过了
s.replace("\\"", "\"") but neither it helps nor its a good approach.
此外,我还浏览了各种链接,但答案不明确。
这是我的用户类 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());
感谢任何帮助。
最佳答案
您已经将其转换为 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));
关于java - JSON自动添加反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43161385/