我试图使用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());
任何帮助表示赞赏。
您已经将其转换为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));