Подскажите пожалуйста пытаюсь с ЯндексПереводчика получать список поддерживаемых языков. Сам ответ с сервера приходит в таком виде:
{
"dirs": [
"ru-en",
"ru-pl",
"ru-hu",
...
],
"langs": {
"ru": "русский",
"en": "английский",
"pl": "польский",
...
}
}
Взяв за основу ответ с сервера http://www.jsonschema2pojo.org Я подготовил следующие классы:
import java.util.HashMap;
import java.util.List;
import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;
public class LanguageDictionareResponse {
@SerializedName("dirs")
@Expose
private List<String> dirs = null;
@SerializedName("langs")
@Expose
private HashMap<CodeLanguage, Language> langs = null;
public List<String> getDirs() {
return dirs;
}
public void setDirs(List<String> dirs) {
this.dirs = dirs;
}
public HashMap<CodeLanguage, Language> getLangs() {
return langs;
}
public void setLangs(HashMap<CodeLanguage, Language> langs) {
this.langs = langs;
}
}
public class CodeLanguage {
private String code;
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
}
public class Language {
private String lang;
public String getLang() {
return lang;
}
public void setLang(String lang) {
this.lang = lang;
}
}
Интерфейс:
public interface ApiDictionare {
@FormUrlEncoded
@POST("api/v1.5/tr.json/getLangs")
Call<LanguageDictionareResponse> languageDictionare(@FieldMap Map<String, String> map);
}
Вызов:
private void createRequestLanguageDictionare(){
Call<LanguageDictionareResponse> call = apiDictionare.languageDictionare(mapJson);
final Gson gson = new GsonBuilder().create();
call.enqueue(new Callback<LanguageDictionareResponse>() {
@Override
public void onResponse(Call<LanguageDictionareResponse> call, Response<LanguageDictionareResponse> response) {
try {
if (response.isSuccessful()){
response.body().toString();
} else {
error();
}
} catch (Exception e) {
e.printStackTrace();
error();
}
}
@Override
public void onFailure(Call<LanguageDictionareResponse> call, Throwable t) {
error();
}
});
}
При дебаге List dirs возвращается заполненный, а HashMap langs = null. Я так понимаю, что не верно разбираю приходящий с сервера JSON объект.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть скомпилированное java приложение без исходных кодовТребуется изменить реакцию программы на движение колёсиком мыши
Пишу небольшое клиент-серверное приложение с использованием сокетовПоявился вопрос
Как сделать так чтоб при добавлении новых элементов в список, последний элемент, который там есть не изменялся и при нажатии на него открылось...