Пытался вот парсить json-файл. Этот список позже нужно пихнуть в адаптер на Android. Но пока проблема в парсинге. Сложность в том, что тут массив в массиве. Тут (это старый код, но тот же json-файл) не очень помогли. Вот что я хотел сделать:
Json:
{
"result": [
{
"hostid": "10106",
"host": "Yandex DNS",
"interfaces": [
{
"interfaceid": "9",
"ip": "77.88.8.8"
},
{
"interfaceid": "13",
"ip": "77.88.8.8"
}
]
},
{
"hostid": "10106",
"host": "Yandex DNS",
"interfaces": [
{
"interfaceid": "6",
"ip": "77.88.8.8"
},
]
}
}
}
А это код:
public class Main {
private static String json; //тут json
public static void main(String[] args) {
ParseJson parseJson = new ParseJson();
parseJson.parse(json);
List<ObjectsOfParse> resultParse = parseJson.getCompleteParse();
for (int i = 0; i < resultParse.size(); i++) {
List<String[]> aaa = resultParse.get(i).getHostAndHostId();
System.out.println("hostid = " + aaa.get(i)[0]);
System.out.println("host = " + aaa.get(i)[1]);
List<String[]> bbb = resultParse.get(i).getInterfasesList();
for (int i1 = 0; i1 < bbb.get(i).length; i1++) {
System.out.println("interfacesid = " + bbb.get(i1)[0]);
System.out.println("ip = " + bbb.get(i1)[1]);
}
System.out.println("-----------------------");
}
}
}
public class ParseJson {
private List<ObjectsOfParse> completeParse = new ArrayList<ObjectsOfParse>();
public List<ObjectsOfParse> getCompleteParse() {
return completeParse;
}
public void setCompleteParse(List<ObjectsOfParse> completeParse) {
this.completeParse = completeParse;
}
private ObjectsOfParse objectsOfParse = new ObjectsOfParse();
public void parse(String json) {
List<String> hostidList = new ArrayList<>();
List<String> hostList = new ArrayList<>();
List<List> interfacesList = new ArrayList<>();
JSONObject jsonObj = new JSONObject(json);
JSONArray array = jsonObj.getJSONArray("result");
// looping through All Contacts
for (int i = 0; i < array.length(); i++) {
JSONObject jsonObject = array.getJSONObject(i);
String hostid = jsonObject.getString("hostid");
String host = jsonObject.getString("host");
objectsOfParse.addHostidAndHost(hostid, host);
JSONArray jsonArray = jsonObject.getJSONArray("interfaces");
for (int i1 = 0; i1 < jsonArray.length(); i1++) {
jsonObject = jsonArray.getJSONObject(i1);
String interfaceid = jsonObject.getString("interfaceid");
String ip = jsonObject.getString("ip");
objectsOfParse.addInterfaces(interfaceid,ip);
}
completeParse.add(objectsOfParse);
}
}
}
public class ObjectsOfParse {
private List<String[]> interfasesList = new ArrayList<>();
private List<String[]> hostAndHostId = new ArrayList<>();
private String host, hostid;
public ObjectsOfParse() {}
public List<String[]> getHostAndHostId() {
return hostAndHostId;
}
public void setHostAndHostId(List<String[]> hostAndHostId) {
this.hostAndHostId = hostAndHostId;
}
public List<String[]> getInterfasesList() {
return interfasesList;
}
public void setInterfasesList(List<String[]> interfasesList) {
this.interfasesList = interfasesList;
}
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public String getHostid() {
return hostid;
}
public void setHostid(String hostid) {
this.hostid = hostid;
}
public void addInterfaces(String interfacesid, String ip){
String[] interfArray = {interfacesid, ip};
interfasesList.add(interfArray);
}
public void addHostidAndHost(String hostid, String host){
String[] interfArray = {hostid, host};
hostAndHostId.add(interfArray);
}
}
Используем библиотеку Gson
(https://github.com/google/gson)
Нужно создать аналогичную json-у объектную модель (модификаторы доступа, геттеры и сеттеры опустил для экономии):
class Result {
List<Host> result;
}
class Host {
String hostid;
String host;
List<Interface> interfaces;
}
class Interface {
String interfaceid;
String ip;
}
Парсим json:
Gson gson = new Gson();
Result result = gson.fromJson(YOUR_JSON, Result.class);
Используем объект result
так, как хотим.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Доброго времени суток! Мучаюсь уже не первый день с воспроизведением видео с web-сервера, который требует авторизацию
Всем привет! Хотелось бы узнать ваше мнение насчет того как я пишу код приложенийПрошу строго судить, показать пальцем на все, за что могут...
На выделенном сервере установил tomcatЗахожу по адресу IP или по домену (установил в server