[英]parse the json file with mutiple objects using Jackson
我的json文件包含多個對象:
[
{
"name":"Move",
"$$hashKey":"object:79",
"time":11.32818,
"endTime":18.615535
},
{
"name":"First Red Flash",
"$$hashKey":"object:77",
"time":15.749153
},
{
"name":"Pills",
"subEventTypes":[
"pull down bottle",
"unscrew lid",
"dump pills out",
"screw lid on",
"put bottle away"
],
"$$hashKey":"object:82",
"time":25.130175,
"subEventSplits":[
26.092057,
27.425881,
31.841594,
34.268093
],
"endTime":36.234827
}
}
有沒有辦法用傑克遜解析這個Json文件? 或者是否有其他可用的庫允許我以這種格式解析Json文件? 到目前為止,這是我的代碼:
File file = new File("data.json");
JsonFactory jsonFactory = new JsonFactory();
JsonParser parser = jsonFactory.createJsonParser(file);
while(parser.nextToken()!=JsonToken.END_OBJECT)
{
//how to read each token
}
傑克遜應該解析你提到的JSON文件。 創建一個類,如下所示
Class Holder {
String name;
List<String> subEventTypes = new ArrayList<>();
String $$hashKey;
Double time;
List<Double> subEventSplits = new ArrayList<>()
DOuble endTime;
}
Class MapperClass{
List<Holder> list = new ArrayList<>();
}
解析它如下所示
ObjectMapper mapper = new ObjectMapper();
//JSON from file to Object
MapperClass values = mapper.readValue(new File("c:\\values.json"), MapperClass.class);
有關詳細信息,請參閱此鏈接
您可以使用樹模型,就像
ObjectMapper m = new ObjectMapper();
JsonNode rootNode = m.readTree(new File("data.json"));
Iterator<JsonNode> it = rootNode.getElements();
while(it.hasNext()) {
System.out.println("element : " + it.next().toString());
}
然后你會看到你想要的:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.