我用於成功地解析以下上傳.json文件:如何解析與傑克遜嵌套數組?
[
{
"latitude": 49.419459253939316,
"longitude": 8.676411621072491
},
{
"latitude": 49.41946061080915,
"longitude": 8.676411644939083
},
{
"latitude": 49.420365910782735,
"longitude": 8.676438042403413
}
]
以下Jackson script輸出點的List
。
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;
}
現在數據集變得更加複雜。點的List
變成點的List
的List
。 我這樣構造它 - 如果這是不正確的請糾正我。
[
[
{
"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
}
]
]
我準備了以下的POJOs將數據存儲到:
public class GeoPoint {
public double latitude;
public double longitude;
}
...
public class ThreePoints {
public List<GeoPoint> points;
}
怎麼辦我必須要改變上述傑克遜解析器,因此它可以處理嵌套數組?傑克遜可以將數據解析爲一個嵌套的類結構,例如ThreePoints.class
?
你可以嗎租賃更新您的解決方案,以顯示如何生成一個'List'? –
JJD