【发布时间】:2018-01-16 15:09:43
【问题描述】:
我的目标是用 Java parse 一个 json 文件。
我的json file 看起来像这样:
{“11542”:[40.870932001722714,-73.62889780791781],“54548”: [45.859817510232425,-89.82102639934573],“11547”:[40.83072033793459, -73.6445076194238]}
我想做的是成为able to input the zip code(字符串)并获得coordinates as outcome
谢谢
编辑:
TypeToken 帮了大忙!!
public class ZipCodeLookup {
public class ZipCodeResult {
final double longitude;
final double latitude;
public ZipCodeResult(double longitude, double latitude) {
this.longitude = longitude;
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public double getLatitude() {
return latitude;
}
}
public Map<String, Double[]> lookups;
public ZipCodeLookup(InputStream is) throws IOException {
Gson gson = new Gson();
Reader reader = new InputStreamReader(is);
lookups = gson.fromJson(reader, new TypeToken<Map<String, Double[]>>() {
}.getType());
reader.close();
}
public ZipCodeResult lookupZipcode(String zipcode) {
Double[] values = lookups.get(zipcode);
return (values == null) ? null : new ZipCodeResult(values[0], values[1]);
}
}
【问题讨论】:
-
请给我们你自己的尝试,你想达到什么目的
-
那个json的格式真的不好
标签: java json parsing gson deserialization