3

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

4

1 回答 1

5

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

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这样更高级的 JSON 解析器,而不是我在这里使用的org.json 。

您还可以从更强大的 HTTP 客户端库中获得一些好处,该库允许在一个连接上进行多个查询,等等。

于 2013-07-05T19:13:11.503 回答