我现在很困惑。当使用userdata发布新用户时,我的api返回一个登录令牌。如何将response.body()作为字符串保存?
它只返回一个post对象,而我并不真正想要它。我只使用它来创建帖子。
private void createPost(User user) {
Post post = new Post(user.getName(), user.getGender(), user.getBirthyear(), user.getHeight(),user.getWeight());
Call<Post> call = jsonmongo.createPost(post);
// To execute it asynchron
call.enqueue(new Callback<Post>() {
@Override
public void onResponse(Call<Post> call, Response<Post> response) {
if (!response.isSuccessful()) {
Log.e("RESPONSECODE", ""+ response.code());
return;
}
Log.e("RESPONSECODE", ""+ response.code());
}
@Override
public void onFailure(Call<Post> call, Throwable t) {
Log.e("RESPONSECODE", ""+ t.getMessage());
}
});
}
获取response.body并通过sql适配器()将其保存到数据库中 adapter.addToken(response.body())
) response.body().toString
仅返回对象引用( com.example.Resources.Post@4c8352
)
String S = new Gson().toJson(response.body()) Log.e("JSON", S)
返回以下内容: E/JSON: {"age":0,"gender":0,"height":0,"weight":0}
想要的输出: E/JSON: {"token":aslfjkhr9RRRRf283FGr3489pjfGGG34HH89fj}
1条答案
按热度按时间kxeu7u2r1#
让我试试。。。您可以使用gson库从响应中创建一个stringjson对象。
试试看: