Recherche plain text parmi les champs d'objets JSON
Bonjour à tous,
Je cherche à implémenter une méthode permettant de filtrer une liste A et retournant une liste B en recherchant un texte parmi les champs des objets de la liste A. J'ai deux possibilités :
* Chercher directement dans le JSON
* Chercher dans les objets désérialisés sous forme de List<Fullname>
Les performances sont importantes mais pas primordiales (entre 100 et 200 entrées dans la liste A)
Une implémentation de Lucène serait trop lourd pour ce besoin.
Avez-vous une solution plus optimisée qu'une recherche via un for + contains ? (j'ai volontairement simplifié les champs dans l'exemple ci-dessous, il y en aurait 5 au lieu de 2).
Merci pour vos conseils et/ou ressources. ;)
Exemple, avec la liste A suivante (au format JSON mais peut être la liste désérialisée) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| {
"listA" : [
{
"firstname": "marcel",
"lastname" : "dupont"
},
{
"firstname": "Florent",
"lastname" : "Rato"
},
{
"firstname": "pierre",
"lastname" : "marrant"
}
]
} |
Une recherche de la chaine "mar" doit me retourner :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| {
"listB" : [
{
"firstname": "marcel",
"lastname" : "dupont"
},
{
"firstname": "pierre",
"lastname" : "marrant"
}
]
} |
Une recherche de la chaine "nt" doit me retourner la même liste car dupont, florent, marrant