我需要开发一个程序,我必须计算行驶距离和时间。获取Google Maps API的请求有效,我得到了非常大的响应。现在我想从这个响应中提取我需要的数据。响应在json中,我制作的程序是用Java编写的。我不知道这样做。我试图将整个响应放在一个字符串中,然后搜索我需要的数据,比如“距离”,并提取之后的几个字符。问题是,如果前面的内容发生了变化,那么它就会出现在巨大字符串中的不同索引处。
响应是这样的(只有一点点大事)
"copyrights" : "Kaartgegevens ©2017 GeoBasis-DE/BKG (©2009), Google",
"legs" : [
{
"distance" : {
"text" : "229 km",
"value" : 229411
},
"duration" : {
"text" : "2 uur 20 min.",
"value" : 8417
},
如何轻松提取“距离”和“持续时间”的值?
答案 0 :(得分:0)
基本上您要做的是将JSON序列化和反序列化为适当的Java对象。您可以使用像Jackson或GSON这样的框架将JSON-String转换为POJO。
这对你也有帮助:
How to serialize and deserialize a JSON object from Google geocode using Java
http://thegeekyland.blogspot.de/2015/11/serializing-and-deserializing-json-from.html
我非常确定Google有自己的API可以在内部映射JSON,尽管我还没有使用它。您可以在此处找到更多信息:
https://developers.google.com/maps/web-services/?hl=de
希望这有帮助!