У нас есть JSON данные, как показано ниже, а имена ключей или полей динамического c (language.typeOfLesson.completed_at) различны для каждого пользователя.
Как мы можем получить данные неизвестного / гибкого или Dynami c имена полей (language.typeOfLesson.completed_at) через GSON?
Если мы не можем получить данные с неизвестными именами полей через GSON, есть ли способы получить / распечатать все имена полей и все данные через GSON?
[
{
"email":"email1@gmail.com",
"confirmed_at":"2017-12-03T18:34:32.000Z",
"activated":true
},
{
"email":"email3@gmail.com",
"confirmed_at":"2017-10-03T18:34:32.000Z",
"activated":true,
"python.sql_injection.completed_at":"2018-01-24T22:05:25.000Z"
},
{
"email":"email2@gmail.com",
"confirmed_at":"2017-11-03T18:34:32.000Z",
"activated":true,
"java.privileged_interface_exposure.completed_at":"2018-01-19T19:45:44.000Z",
"java.horizontal_privilege_escalation.completed_at":"2018-01-19T19:49:19.000Z"
},
{
"email":"email5@gmail.com",
"confirmed_at":"2017-08-03T18:34:32.000Z",
"activated":true,
"python.sql_injection.completed_at":"2018-01-24T22:05:25.000Z",
"java.horizontal_privilege_escalation.completed_at":"2018-01-19T19:49:19.000Z",
"android.sql_injection.completed_at":"2018-01-24T22:05:25.000Z"
}
]
User.java
class User {
String email;
String confirmed_at;
boolean activated;
// Example:
// <java.sql_injection, 2018-01-24T22:05:25.000Z>
// <java.horizontal_privilege_escalation, 2018-01-19T19:49:19.000Z>
Map<String, String> completedLessons; // How to get date of courses/lessons completed by user?
}
Спасибо,