【问题标题】:Get wikipedia city info获取维基百科城市信息
【发布时间】:2016-04-20 14:49:41
【问题描述】:

从维基百科获取城市信息,并在 Android APP 上展示。

但是,每次我尝试将数据转换为 JSON 时,都会引发异常

https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Threadless&rvprop=content&format=json&rvsection=0

url = new URL("https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Threadless&rvprop=content&format=json&rvsection=0");
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
String line ="";
InputStreamReader isr = new InputStreamReader(connection.getInputStream());
BufferedReader reader = new BufferedReader(isr);
sb = new StringBuilder();
while ((line = reader.readLine()) != null){
    sb.append(line);
}
JSONObject city;
JSONArray jsondata = new JSONArray(sb.toString());
city = jsondata.getJSONObject(0);

【问题讨论】:

  • 这与城市无关,缺少例外。

标签: java android api rest wikipedia-api


【解决方案1】:

Web 服务不返回 JSON 数组,而是返回包含数组的 JSON 对象。尝试改用JSONObject

JSONObject jsondata = new JSONObject(sb.toString());

【讨论】:

    【解决方案2】:

    试试这样的...

    JSONObject searchJson = new JSONObject(Content);
                    JSONObject queryObject = searchJson.getJSONObject("query");
                    JSONArray searchObject = queryObject.getJSONArray("search");
                    JSONObject titObject = (JSONObject) searchObject.get(0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-26
      • 2020-02-02
      • 2020-07-27
      • 2020-07-16
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      相关资源
      最近更新 更多