Как получить объекты Java из строки JSON - PullRequest
1 голос
/ 03 сентября 2011

Как я могу получить объекты Java из этой строки JSON?У нас нет имени объекта в строке JSON

[
    {
       "eqid": "c0001xgp",
       "magnitude": 8.8,
       "lng": 142.369,
       "src": "us",
       "datetime": "2011-03-11 04:46:23",
       "depth": 24.4,
       "lat": 38.322
  },
  {
       "eqid": "2007hear",
       "magnitude": 8.4,
       "lng": 101.3815,
       "src": "us",
       "datetime": "2007-09-12 09:10:26",
       "depth": 30,
       "lat": -4.5172
 }
]

Я нашел такой код для разбора JSON.JSONArray

earthquakes = json.getJSONArray("earthquakes");
 for(int i=0;i < earthquakes.length();i++){                      
        HashMap<String, String> map = new HashMap<String, String>();
        JSONObject e = earthquakes.getJSONObject(i);
        map.put("id",  String.valueOf(i));
       map.put("name", "Earthquake name:" + e.getString("eqid"));
       map.put("magnitude", "Magnitude: " +     e.getString("magnitude"));
       mylist.add(map);
   }

Но на всякий случай у нас есть имя объекта: "землетрясение", подобное этому

{"earthquakes":[

    {
       "eqid": "c0001xgp",
       "magnitude": 8.8,
       "lng": 142.369,
       "src": "us",
       "datetime": "2011-03-11 04:46:23",
       "depth": 24.4,
       "lat": 38.322
  },
  {
       "eqid": "2007hear",
       "magnitude": 8.4,
       "lng": 101.3815,
       "src": "us",
       "datetime": "2007-09-12 09:10:26",
       "depth": 30,
       "lat": -4.5172
 }
]}

Что мне делать, если у меня нет названия "землетрясение",Извините, я не могу добавить новый ответ для себя, поэтому я просто редактирую вопрос.

1 Ответ

1 голос
/ 03 сентября 2011

Вы можете использовать библиотеку синтаксического анализатора JSON, например google-json , которая позволит вам проанализировать этот JSON в строго типизированный класс Java, который вы должны определить. В этом случае вы определите класс Java со свойствами, такими как eqid, magnitude, ..., а затем парсер вернет вам массив этого объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...