Disons que j'ai quelques JSON comme ça dans mongo:morphia traiter les données mauvaises
{"n":"5"}
et une classe java comme ceci:
@Entity
public class Example {
Integer n;
}
Cela fonctionne (je sais que le JSON doit stocker la valeur comme un int pas une chaîne mais je ne contrôle pas cette partie).
Maintenant, quand je contiennent des données comme celui-ci morphia lance:
{"n":""}
Je suis à la recherche d'une solution (le comportement que je voudrais est pour une chaîne vide à traiter même que nulle).
La seule solution que j'ai à ce jour est:
public class Example {
String n;
public Integer getN() {
return NumberUtils.isNumber(n) ? NumberUtils.createInteger(n) : null;
}
}
Mais j'espère pour un moyen d'accrocher une annotation sur la propriété entière qui personnalise le comportement de désérialisation.
Merci! Nouveau à la morphine et j'ai eu ce même problème. J'ai eu une date stockée comme une chaîne et quand je suis allé corriger le type de données, rien n'a été chargé. IllegalArgumentException car le format de la chaîne n'était pas correct. Je peux maintenant corriger le DbObject avant le mapping. – NewfrontSolutions
Aussi, dans la version de Morphia que j'utilise j'avais besoin d'utiliser com.mongodb.BasicDBObject – NewfrontSolutions