Cette librairie permet de simplifier le parsing de JSON retournés par l'API REST. Son utilisation vous permet de gagner du temps dans la conversion d'un JSONObject ou JSONArray en un modèle défini.
- Ouvrez le projet dans lequel vous souhaitez utiliser le librairie,
- Ouvrez le fichier build.gradle de votre projet (pas celui de l'application),
- Ajoutez-y (si ce n'est pas déjà fait) le code suivant :
allprojects {
repositories {
jcenter()
maven{ url "https://jitpack.io" }
}
}
- Ouvrez ensuite le build.gradle de votre application
- Ajoutez la dépendance suivante :
compile 'com.github.soyhuce:transformer:1.0.0'
Une fois ajoutée au projet, pour utiliser cette librarie, vous devez créer une classe héritant de "Transformer" puis implémenter les méthodes requises :
Exemple avec une classe custom "User" :
public class UserTransformer extends Transformer<User> {
@Override
public User getItemFromJSONObject(JSONObject jsonObject) throws JSONException {
User user = new User();
user.setId(jsonObject.getInt("id"));
user.setLastname(jsonObject.getString("last_name"));
//!\\ firstname => optional --> getOptionalString()
user.setFirstname(getOptionalString(jsonObject, "first_name"));
user.setPremium(jsonObject.getBoolean("is_premium"));
return user;
}
}
L'attribut "first_name" de l'exemple ci-dessus peut-être null, d'où l'utilisation de getOptionalString()
Vous pourrez ensuite l'utiliser de la manière suivante :
Transformer<User> transformer = new UserTransformer()
User user = transformer.getItemFromJSONObject(userJSONObject);