【发布时间】:2014-02-08 05:21:56
【问题描述】:
我正在尝试制作一个使用 jsonObject 来解析地震信息的应用程序。像经纬度和大小形式http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_day.geojson 并将其显示在文本视图中。 我对 JSON 的了解不多。我在 YOUTUBE 中看过一些视频教程,但我无法获得我想要的东西...有人可以提供我执行此操作的代码吗?
【问题讨论】:
我正在尝试制作一个使用 jsonObject 来解析地震信息的应用程序。像经纬度和大小形式http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_day.geojson 并将其显示在文本视图中。 我对 JSON 的了解不多。我在 YOUTUBE 中看过一些视频教程,但我无法获得我想要的东西...有人可以提供我执行此操作的代码吗?
【问题讨论】:
您需要一个 JSON 解析库。我建议你使用杰克逊:http://jackson.codehaus.org/Download
转到您的网址 (http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/4.5_day.geojson),将所有 json 复制到剪贴板,然后将其粘贴到 http://jsonlint.com/ 并单击验证。该工具将帮助您查看 json 文件的结构。
这里是使用jacksonhttp://www.journaldev.com/2324/jackson-json-processing-api-in-java-example-tutorial的教程
【讨论】:
您可以使用 Gson - https://code.google.com/p/google-gson/
import java.util.List;
public class Earthquake {
public String type;
public Metadata metadata;
public double[] bbox;
public List<Feature> features;
public class Metadata{
public long generated;
public String url, title, api;
public int status, count;
}
public class Feature {
public String type, id;
public Properties properties;
public class Properties{
public int mag, tz, felt, cdi, sig, gap;
public String place, url, detail, mmi, alert, status, tsunami, net, code, ids, sources, types, nst, magType, type, title;
public long time, updated;
public double dmin, rms;
}
public class Geometry{
public String type;
public double[] coordinates;
}
}
}
有了这个类,你可以做到:
String data = getData(); //Get your data as a string
Earthquake e = new Gson().fromJson(data, Earthquake.class);
【讨论】:
data 对象将是您之前提供的网站的 json。