如何处理动态生成的 JSON 名称字段?



例如: https://store.steampowered.com/api/appdetails/?appids=435150&filters=basic

name是 435150,其值是successdata。 如果我请求其他游戏,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,然后使用具有successdata属性的包装器获取值和解析?

看看这个。

最新更新