Это мои данные json
{
"RiderProfile": {
"ID": 2,
"Name": "aka",
"Email": "[email protected]"
}
}
Вот как я ставлю параметры
@GET("/api/rider/[email protected]&Password=123 ")
public Call GetLogin(
@Path("Email") String Email,
@Path("Password") String Password);
Получение данных json с помощью библиотеки Retrofit
@Override
public void onResponse(Call call, Response response) {
String respoStr = response.body().toString();
Gson gson = new Gson();
DataHandler.webData = gson.fromJson(respoStr,WebData.class);
String name = DataHandler.webData.Rider.getEmail();
Toast.makeText(MainActivity.this, "Welcome"+name, Toast.LENGTH_SHORT).show();
}
@ADyson Спасибо за ответ, я получаю объект json, но не могу получить ответ, пожалуйста, загляните в мой код и скажите, в порядке ли этот код или что-то не так.
«не могу» что именно означает? Какую отладку вы сделали? Дайте нам описание проблемы, включая любые HTTP-статусы, сообщения об ошибках, неожиданные значения данных, неожиданное поведение кода и т. д. А затем сообщите нам, что именно вы ожидали вместо этого.
Поскольку вопрос кажется мне непонятным, я думаю, вам нужен ответ JSON в java-объекте. Для этого создайте модель (класс POJO) для вашего ответа JSON. Для этого пригодится следующая ссылка: http://www.jsonschema2pojo.org/
Затем используйте класс модели в качестве универсального для класса Вызов
Например,
@GET("/api/rider/[email protected]&Password=123 ")
public Call<YOUR_MODEL> GetLogin(
@Path("Email") String Email,
@Path("Password") String Password);
И вы можете преобразовать объект Ответ в методе onResponse()
в свой класс POJO. Делая это, вы можете получать значения JSON, обращаясь к геттерам и сеттерам вашего класса POJO.
спасибо sumeet за ответ. Мой вопрос в том, как преобразовать объект JSON в метод onResponse (),
Я могу легко преобразовать эти данные JSON {{"ID": 2, "Name": "aka", "Email": "[email protected]", "Mobile": "1212121212",}}, но у меня возникают проблемы чтобы передать эти данные JSON {"RiderProfile": {"ID": 2, "Name": "aka", "Email": "[email protected]"}}
Надеюсь, проблема решена. Если это не так: Ссылаясь на ваш предыдущий комментарий, структуры обоих ответов различаются. Убедитесь, что JSON, который вы хотите использовать, отнесен к уважаемому классу POJO. Я имею в виду, что классы POJO для обеих структур будут разными, используйте соответствующий при кастинге.
а какой у тебя вопрос? Есть ли проблема с вашим кодом, с которой вам нужна помощь? Непонятно, в чем ваша проблема.