13

HtmlUnit で UnexpectedPage として返されるページがあり、応答は JSON です。これを解析するために HTMLUnit を使用できますか、それとも追加のライブラリが必要ですか?

4

2 に答える 2

21

HtmlUnit はサポートしていません。せいぜい JS 関数を実行できます。Content-Type返された応答が一致するかどうかを事前に確認しapplication/json、適切なツールを使用して解析する必要があります。これにはGoogle Gsonが役立ちます。

WebClient client = new WebClient();
Page page = client.getPage("https://stackoverflow.com/users/flair/97901.json");
WebResponse response = page.getWebResponse();
if (response.getContentType().equals("application/json")) {
    String json = response.getContentAsString();
    Map<String, String> map = new Gson().fromJson(json, new TypeToken<Map<String, String>>() {}.getType());
    System.out.println(map.get("displayName")); // Benju
}

JSON 構造が事前にわかっている場合は、Gson を使用して完全な Javabean に変換することもできます。この回答で例を見つけることができます。

于 2010-05-28T23:31:54.320 に答える