Java 用Jackson解析Json文件
我调用一个返回Json对象的WS,如下所示:Java 用Jackson解析Json文件,java,json,jackson,jackson2,Java,Json,Jackson,Jackson2,我调用一个返回Json对象的WS,如下所示: { "id": "salton", "name": "salton", } 我可以使用 ObjectMapper mapper = new ObjectMapper(); return mapper.readValue(jsonStr, Show.class); 然后我有另一个WS,它返回一个对象列表,如下所示 { "id": "saltonId", "name": "salto
{
"id": "salton",
"name": "salton",
}
我可以使用
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(jsonStr, Show.class);
然后我有另一个WS,它返回一个对象列表,如下所示
{
"id": "saltonId",
"name": "salton",
},
{
"id": "elCordeLaCiutat",
"name": "elCordeLaCiutat",
}
[
{
"id": "saltonId",
"name": "salton",
},
{
"id": "elCordeLaCiutat",
"name": "elCordeLaCiutat",
}
]
我想用
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(jsonStr, List<Show.class>.class);
Type listType=new-TypeToken(){}.getType();
返回mapper.readValue(jsonStr,listType.class);
对象列表应包装在[]
中,如下所示
{
"id": "saltonId",
"name": "salton",
},
{
"id": "elCordeLaCiutat",
"name": "elCordeLaCiutat",
}
[
{
"id": "saltonId",
"name": "salton",
},
{
"id": "elCordeLaCiutat",
"name": "elCordeLaCiutat",
}
]
你可以这样做:
ObjectMapper mapper = new ObjectMapper();
List<Show> shows = Arrays.asList(mapper.readValue(json, Show[].class));
ObjectMapper mapper=new ObjectMapper();
List shows=Arrays.asList(mapper.readValue(json,Show[].class));
是否包含java.util.List?是的,它包含在importwhy is.class中,位于泛型中?使用mapper.readValue(jsonStr,mapper.getTypeFactory().ConstructionType(List.class,Show.class))代码>对象列表应该用括号括起来。