我有一个页面作为HtmlUnit中的UnexpectedPage返回,响应为JSON。我可以使用HTMLUnit进行解析还是需要一个额外的库?
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。您可以在此答案中找到一个示例。
问题内容: 我在弄清楚如何从jQuery $ .post()请求中正确读取JSON响应时遇到了麻烦。 在下面的jQuery代码中,我根据对应的“ color_entry_id”(用作键)从DOM中的元素填充字符串的关联数组: 然后,我发出POST请求,发送“ image_links”数组: 另外,如上所示,我尝试遍历响应数组并输出要成为字符串的每个项目,但是我只得到“ [object Object
问题内容: 我看了其他几个问题,但我仍然不完全理解。我想将JSON字符串发布到远程地址,然后从JSON响应中检索值。我正在使用Java的Apache库。 作为主体,我将通过以下示例(): 我也完全不知道如何从响应中检索JSON值。 问题答案: 最简单的方法是使用类似google-http-java-client之类的库,但是如果您想自己解析JSON响应,则可以通过多种方式进行,您可以使用org.j
我有一个联系人列表,显示在API响应的Future Builder列表视图中,我在服务器中总共有23个联系人,但我想去掉其名字和姓氏为NULL的所有联系人。 在处理空异常之前:单击此处 代码: 处理空异常后:单击此处 正如您从添加的代码和图像中看到的,为了处理异常,我只为所有名为null的联系人返回了一个空的容器,但现在我想更改它。我如何才能使那些名为firstname和lastname的联系人不
问题内容: 哪种方法更快,要返回JSON中的ajax,然后处理JSON响应以呈现html,或者只是将Ajax响应中的原始html放在一堆中呢? 问题答案: 要看。在这两种情况下,服务器都只是返回带有文本的响应。如果响应的JSON版本比HTML版本需要更多字符,则该响应将需要更长的时间才能传输回客户端,反之亦然。 但是,当然还有服务器端脚本必须完成其工作。在您的情况下,从服务器端脚本生成JSON可能
问题内容: 对不起,我的英语不好 :) 我在iOS应用程序的Swift中通过Alamofire解析JSON响应时遇到问题。我编写了一个函数来返回JSON响应字符串。请求和响应处理我做Alamofire和JSON处理我做SwiftyJSON。首先,我声明一个名为 jsonString的变量 ,其值为 test 。然后,我向REST服务发出请求,并通过单击按钮获得JSON响应。我想使用函数 ping(
null 我的问题是如何为这种情况定义POJO类。 我试图用创建两个同名字段,但是抱怨POJO有重复的字段。