Имеется вот такой json
{
"status": "OK",
"results": [
{
"mac": "00:1A:79:08:6E:B6",
"ip": "*.*.*.*",
"ls": "001",
"version": "ImageDescription: 123123",
"status": 1,
"additional_services_on": "1",
"last_active": "2017-05-15 11:29:10",
"login": "freeman",
"account_balance": "",
"online": "0"
},
{
"mac": "00:1a:79:07:d4:37",
"ip": "*.*.*.*",
"ls": "21541307",
"version": "ImageDescription: 123123",
"status": 1,
"additional_services_on": "1",
"last_active": "2017-10-20 09:50:24",
"login": "stb21541307",
"account_balance": "",
"online": "0"
},
{
"mac": "00:1A:79:13:B0:3E",
"ip": "*.*.*.*",
"ls": "20811718",
"version": "ImageDescription:123123123",
"status": 1,
"additional_services_on": "1",
"last_active": "2017-10-20 11:17:40",
"login": "stb20811718",
"account_balance": "",
"online": "0"
}
]
}
Пытаюсь вот так, но что то не получается
if (c.getResponseCode() == HttpURLConnection.HTTP_OK) {
JsonParser parser = new JsonParser();
JsonObject items = (JsonObject) parser.parse(response.toString());
JSONArray jsonarray = new JSONArray(items.getAsJsonArray("results"));
for (int i = 0; i < jsonarray.length(); i++) {
JSONObject jsonobject = jsonarray.getJSONObject(i);
String mac = jsonobject.getString("mac");
String ip = jsonobject.getString("ip");
int ls = jsonobject.getInt("ls");
String version =jsonobject.getString("version");
int status = jsonobject.getInt("status");
String additional_services_on=jsonobject.getString("additional_services_on");
Date last_activ=new SimpleDateFormat(("YYYY-MM-DD hh:mm:ss")).parse(jsonobject.getString("last_activ"));
String login =jsonobject.getString("login");
String account_balance =jsonobject.getString("account_balance");
int online =jsonobject.getInt("online");
}
}
То что вы пытаетесь написать никакого отношения к GSon не имеет. GSon работает по другому. Вам надо:
1) Перевести ваш Json в иерархию Java классов
2) Полученную иерархию засунуть в Gson таким вот макаром:
Gson gson = new Gson();
//класс MyClass - ваш корневой класс иерархии Json
MyClass myClassObject=gson.fromJson(jsonString, MyClass.class);
Чтобы сгенерировать классы из Json строки можно воспользоваться онлайн генераторами, например вот таким. Я потратил ровно 5 секунд на генерацию такой иерархии:
public class Result
{
private String mac;
public String getMac() { return this.mac; }
public void setMac(String mac) { this.mac = mac; }
private String ip;
public String getIp() { return this.ip; }
public void setIp(String ip) { this.ip = ip; }
private String ls;
public String getLs() { return this.ls; }
public void setLs(String ls) { this.ls = ls; }
private String version;
public String getVersion() { return this.version; }
public void setVersion(String version) { this.version = version; }
private int status;
public int getStatus() { return this.status; }
public void setStatus(int status) { this.status = status; }
private String additional_services_on;
public String getAdditionalServicesOn() { return this.additional_services_on; }
public void setAdditionalServicesOn(String additional_services_on) { this.additional_services_on = additional_services_on; }
private String last_active;
public String getLastActive() { return this.last_active; }
public void setLastActive(String last_active) { this.last_active = last_active; }
private String login;
public String getLogin() { return this.login; }
public void setLogin(String login) { this.login = login; }
private String account_balance;
public String getAccountBalance() { return this.account_balance; }
public void setAccountBalance(String account_balance) { this.account_balance = account_balance; }
private String online;
public String getOnline() { return this.online; }
public void setOnline(String online) { this.online = online; }
}
public class MyClass
{
private String status;
public String getStatus() { return this.status; }
public void setStatus(String status) { this.status = status; }
private ArrayList<Result> results;
public ArrayList<Result> getResults() { return this.results; }
public void setResults(ArrayList<Result> results) { this.results = results; }
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет! Как можно переместить маркер на карте Google Maps с анимацией?
У меня есть два RecyclerViewВ первом (CategoriesRV) отображаются категории, а в другом (ElementsRV) элементы этих категорий
Пример кода из файла(сначала идет описание города, потом идет описание станций в этом городе):