java中有一串格式为[[{"lng":11111,"lat":222222},{"lng":11111,"lat":222222},{"lng":11111,"lat":222222}]]的字符串,将其按坐标转化为Point对象
时间: 2024-09-23 20:13:16 浏览: 59
在Java中,你可以将这个JSON字符串解析成`Point`对象数组。首先,你需要创建一个`Point`类,它通常会包含经纬度信息。假设已经有一个`Point`类:
```java
public class Point {
private double lng;
private double lat;
public Point(double lng, double lat) {
this.lng = lng;
this.lat = lat;
}
// getters and setters...
}
```
然后,你可以使用`Gson`库(如果项目中还没有引入的话,需要添加依赖并导入`com.google.gson.Gson`)来转换JSON字符串。下面是一个示例方法:
```java
import com.google.gson.Gson;
public List<Point> convertJsonToList(String jsonString) {
Gson gson = new Gson();
Type listType = new TypeToken<List<Map<String, Double>>>(){}.getType(); // 获取List<Map<String, Double>>类型的泛型
List<Map<String, Double>> maps = gson.fromJson(jsonString, listType); // 解析JSON到Map列表
List<Point> points = new ArrayList<>();
for (Map<String, Double> map : maps) {
double lng = map.get("lng");
double lat = map.get("lat");
points.add(new Point(lng, lat)); // 创建Point对象并添加到列表
}
return points;
}
```
在这个例子中,`convertJsonToList`方法接收一个JSON字符串,使用`Gson`将其转换为`Map`列表,再遍历每个`Map`,从中提取`lng`和`lat`值,并创建一个新的`Point`实例。
阅读全文