例如: https://store.steampowered.com/api/appdetails/?appids=435150&filters=basic
name
是 435150,其值是success
和data
。 如果我请求其他游戏,name
会发生变化。假设 578080。
https://store.steampowered.com/api/appdetails/?appids=578080&filters=basic
public void readJson(String gameID) throws IOException {
String targetURL = String.format(STEAM_API, gameID);
URL url = new URL(targetURL);
InputStreamReader reader = new InputStreamReader(url.openStream());
ObjectMapper mapper = new ObjectMapper();
SteamResponseWrapper wrapper = mapper.readValue(reader, SteamResponseWrapper.class);
System.out.println(wrapper.getSteamResponse().getGame().toString());
}
public class SteamResponseWrapper {
private String gameID;
private SteamResponse steamResponse;
}
public class SteamResponse {
private boolean success;
private Game game;
}
public class Game {
private String name;
private int steam_appid;
}
我收到此错误由以下原因引起:com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段"435150"(类实用程序。SteamResponseWrapper(,未标记为可忽略(2 个已知属性:"steamResponse"、"gameID"](
如何先将其读取到 Map,然后使用具有success
和data
属性的包装器获取值和解析?
看看这个。