Java имеет свой собственный анализатор JSON: мы можем использовать его и на Android.
Ниже вы можете найти информацию о том, как получить все события из вашей строки.
String TAG = "JSON EXAMPLE";
String jsonString = "{\"Events\" : [{\"name\" : \"exp\",\"date\" : \"10-10-2010\",\"tags\" : [\"tag 1\",\"tag 2\",\"tag 3\"]}],\"Contacts\" : [{\"name\" : \"John Smith\",\"date\" : \"10-10-2010\",\"tags\" : [\"tag 1\",\"tag 2\",\"tag 3\"]}]}";
try {
JSONObject jsonObj = new JSONObject(jsonString); // create a json object from a string
JSONArray jsonEvents = jsonObj.getJSONArray("Events"); // get all events as json objects from Events array
for(int i = 0; i < jsonEvents.length(); i++){
JSONObject event = jsonEvents.getJSONObject(i); // create a single event jsonObject
Log.e(TAG, "Event name:" + event.getString("name") + " date: " + event.getString("date"));
JSONArray eventTags = event.getJSONArray("tags");
for(int j = 0; j < eventTags.length(); j++){
Log.e(TAG, "Event tag: " + eventTags.getString(j));
}
}
} catch (JSONException e) {
e.printStackTrace();
}
Имейте в виду: ваш объект JSON (из вашего вопроса) сгенерирует исключение, потому что он недопустим (я не уверен, но он выглядит как объект javascript) Вы должны добавить несколько кавычек к каждому свойству (ключу) и заменить их на \ (\ ").
Этот инструмент действительно хорош для проверки, является ли строка JSON действительной или нет.