Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Париснг Json / 3 сообщений из 3, страница 1 из 1
02.12.2013, 18:58:04
    #38486465
Витяй1991
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Париснг Json
Всем добрый вечер!
Пытаюсь распарсить json-строку
строка{"maps":{"NorthAmerica":{"USA":["alabama.map","arizona.map","arkansas.map","california.map","colorado.map","connecticut.map","delaware.map","district-of-
columbia.map","florida.map","georgia.map","hawaii.map","idaho.map","illinois.map","indiana.map","iowa.map","kansas.map","kentucky.map","louisiana.map","maine.map","maryland.map","massachusetts.map
","michigan.map","minnesota.map","mississippi.map","missouri.map","montana.map","nebraska.map","nevada.map","new-hampshire.map","new-jersey.map","new-mexico.map","new-york.map","north-
carolina.map","north-dakota.map","ohio.map","oklahoma.map","oregon.map","pennsylvania.map","rhode-island.map","south-carolina.map","south-dakota.map","tennessee.map","texas.map","us-
pacific.map","utah.map","vermont.map","virginia.map","washington.map","west-virginia.map","wisconsin.map","wyoming.map"],"Canada":["alberta.map","british-columbia.map","manitoba.map","new-
brunswick.map","newfoundland-and-labrador.map","northwest-territories.map","nova-scotia.map","nunavut.map","ontario.map","prince-edward-island.map","quebec.map","saskatchewan.map","yukon.map"]},"South America":["argentina.map","bolivia.map","brazil.map","chile.map","colombia.map","ecuador.map"],"test-coastline":
["argentina.map","bolivia.map","brazil.map","chile.map","colombia.map","ecuador.map"],"Europe":{"France":["alsace.map","aquitaine.map","auvergne.map","basse-normandie.map","bourgogne.map","bretagne.map","centre.map","champagne-ardenne.map","franche-comte.map","haute-normandie.map","ile-de-france.map","languedoc-
roussillon.map","limousin.map","lorraine.map","midi-pyrenees.map","nord-pas-de-calais.map","pays-de-la-loire.map","picardie.map","poitou-charentes.map","provence-alpes-cote-d-azur.map","rhone-alpes.map"],"Germany":["baden-wuerttemberg.map","bayern.map","berlin.map","brandenburg.map","bremen.map","hamburg.map","hessen.map","mecklenburg-vorpommern.map","niedersachsen.map","nordrhein-
westfalen.map","rheinland-pfalz.map","saarland.map","sachsen-anhalt.map","sachsen.map","schleswig-holstein.map","thueringen.map"],"Great Britain":["england.map","greater_london.map","scotland.map","wales.map"]},"Asia":
["azerbaijan.map","china.map","gaza.map","gcc_states.map","india.map","indonesia.map","iran.map","iraq.map","israel_and_palestine.map","japan.map","kazakhstan.map","kyrgyzstan.map","malaysia_singa
pore_brunei.map","mongolia.map","pakistan.map","philippines.map","taiwan.map","turkmenistan.map","uzbekistan.map","vietnam.map"]}}


Делал по аналогии с примером http://stackoverflow.com/a/16378782
Выдает ошибку:
errorException in thread "main" java.lang.NullPointerException
at fromjsonmap.FromJsonMap.main(FromJsonMap.java:54)
Java Result: 1
Но ведь и Europe и Germany в строке есть, помогите, пожалуйста, разобраться
Код: java
1.
2.
3.
4.
String str = "{\"maps\":{\"North Americ...........";
Gson gson = new Gson();
Maps response = gson.fromJson(str, Maps.class);
String[] name = response.getRegions().get("Europe").getCountries().get("Germany").getCity();



Класс Maps:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class Maps {
    private Map<String, Region> regions;
    
    public Map<String, Region> getRegions() {
        return regions;
    }
    public void setRegions(Map<String, Region> regions) {
        this.regions = regions;
    }
}



Класс Region:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class Region {
    private Map<String, Country> countries;

    public Map<String, Country> getCountries() {
        return countries;
    }
    public void setCountries(Map<String, Country> countries) {
        this.countries = countries;
    }
}



Класс Country:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
public class Country {
    private String[] city;

    public String[] getCity() {
        return city;
    }
    public void setCity(String[] city) {
        this.city = city;
    }
}
...
Рейтинг: 0 / 0
02.12.2013, 21:12:47
    #38486640
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Париснг Json
Витяй1991,

Структура JSON'а должна соответствовать полям класса:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 
{
    regions: {
        NorthAmerica: {
            countries: {
                USA: { 
                    cities: ["11", "12"]
                },
                Canada: { 
                    cities: ["21", "22"]
                }
            }
        },
        Europe: {
            countries: {
                France: {
                    cities: ["31", "32"]
                },
                Germany: { 
                    cities: ["41", "42"]
                }
            }
        }
    }
}
 

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
class Maps {
    private Map<String, Region> regions;
    
    public Map<String, Region> getRegions() {
        return regions;
    }
    public void setRegions(Map<String, Region> regions) {
        this.regions = regions;
    }
}

class Region {
    private Map<String, Country> countries;

    public Map<String, Country> getCountries() {
        return countries;
    }

    public void setCountries(Map<String, Country> countries) {
        this.countries = countries;
    }
}

class Country {
    private String[] cities;

    public String[] getCities() {
        return cities;
    }

    public void setCities(String[] cities) {
        this.cities = cities;
    }
}
...
System.out.println(new Gson().fromJson(jsonText, Maps.class).getRegions().get("Europe").getCountries().get("Germany").getCities()[0]);
...
Рейтинг: 0 / 0
03.12.2013, 18:26:08
    #38487899
Витяй1991
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Париснг Json
Usman,

спасибо!
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Париснг Json / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]