j'ai utilisé pour analyser correctement le fichier .json suivant:Comment analyser les tableaux imbriqués avec Jackson?
[
{
"latitude": 49.419459253939316,
"longitude": 8.676411621072491
},
{
"latitude": 49.41946061080915,
"longitude": 8.676411644939083
},
{
"latitude": 49.420365910782735,
"longitude": 8.676438042403413
}
]
Le Jackson script suivant renvoie un List
de points.
private static <T> List<T> parseFile(final String fileName,
Class<T> contentType) {
// ...
InputStream inputStream = // Open file
ObjectMapper objectMapper = new ObjectMapper();
try {
TypeFactory typeFactory = objectMapper.getTypeFactory();
CollectionType collectionType = typeFactory
.constructCollectionType(List.class, contentType);
return objectMapper.readValue(inputStream, collectionType);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
Maintenant, l'ensemble de données devient plus compliqué. Le List
de points devient un List
de List
de points. Je l'ai structuré de cette façon - s'il vous plaît corrigez-moi si ce n'est pas correct.
[
[
{
"latitude": 49.419459253939316,
"longitude": 8.676411621072491
},
{
"latitude": 49.41946061080915,
"longitude": 8.676411644939083
},
{
"latitude": 49.420365910782735,
"longitude": 8.676438042403413
}
],
[
{
"latitude": 49.40460334213399,
"longitude": 8.670034018853409
},
{
"latitude": 49.404608057285145,
"longitude": 8.670028775634165
},
{
"latitude": 49.40506145685422,
"longitude": 8.66955817506422
}
]
]
Je prépare les POJO suivantes pour stocker les données dans:
public class GeoPoint {
public double latitude;
public double longitude;
}
...
public class ThreePoints {
public List<GeoPoint> points;
}
Comment dois-je changer ci-dessus analyseur Jackson pour qu'il puisse gérer la tableaux imbriqués? Est-ce que Jackson peut analyser les données dans une structure de classe imbriquée telle que ThreePoints.class
?
Pouvez-vous p bail mettre à jour votre solution pour montrer comment je peux produire une 'Liste'? –
JJD