[英]Read a JSON file using JACKSON
我想讀取收到的JSON文件。
這就是JSON文件的形式:
{
"name": "list_name"
"items": [
{
"id": 4
},
{
"id": 3
},
{
"id": 2
},
]
}
我想解析表示電影列表的JSON和電影的ID。 我想提取ID和名稱。
@PUT
@Path("/")
@Consumes(MediaType.APPLICATION_JSON)
public Response deleteMoviesFromList2(@Context HttpServletRequest req) Long movieListId) {
Long userId = getLoggedUser(req);
getLoggedUser(req);
final String json = "some JSON string";
final ObjectMapper mapper = new ObjectMapper();
return buildResponse(listMovieService.remove(¿?));
}
我想提取ID,但是我不知道該怎么做。
您可以像這樣使用ObjectMapper類轉換json字符串。
ObjectMapper objectMapper = new ObjectMapper();
String carJson =
"{ \"brand\" : \"Mercedes\", \"doors\" : 5 }";
try {
Car car = objectMapper.readValue(carJson, Car.class);
System.out.println("car brand = " + car.getBrand());
System.out.println("car doors = " + car.getDoors());
} catch (IOException e) {
e.printStackTrace();
}
在這里,您可以將Car類替換為自定義的Movie類,然后完成。
如果定義了電影類,例如:
class Movie {
String id;
//getters
//setters
}
和電影列表類:
class MovieList {
String name;
List<Movie> items;
//getters
//setters
}
然后,可以將對象映射器與inputStream一起使用:
try(InputStream fileStream = new FileInputStream("movielist.json")) {
MovieList list = mapper.readValue(fileStream, MovieList.class);
}
ObjectMapper
的readValue具有一個重載版本,該版本接受一個輸入流,而這正是上面使用的版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.