如何在Java中实现YQL?

时间:2013-07-05 18:15:51

标签: java yql

嘿,我需要做些什么来实现Java中的Yahoo Query Language? 或者这通常是可能的吗? 我想在那之后解析JSON。

1 个答案:

答案 0 :(得分:5)

YQL在服务器端被解释,所以在Java中没什么可做的。我只是创建一个URL,打开它,然后读取数据流。只需复制the PHP example code,主要是:

String baseUrl = "http://query.yahooapis.com/v1/public/yql?q=";
String query = "select * from upcoming.events where location='San Francisco' and search_text='dance'";
String fullUrlStr = baseUrl + URLEncoder.encode(query, "UTF-8") + "&format=json";

URL fullUrl = new URL(fullUrlStr);
InputStream is = fullUrl.openStream();

JSONTokener tok = new JSONTokener(is);
JSONObject result = new JSONObject(tok);

is.close();

根据您的需要,您可能希望围绕URL构造编写一些代码,以使其看起来不那么混乱,并且您可能希望像Gson而不是org.json那样使用更高级的JSON解析器。我在这里用过。

您可能还会从更强大的HTTP客户端库中获取一些内容,以允许在一个连接上进行多个查询等。