java - 将包含对的 JSON 数组转换为点列表
问题描述
我有以下 JSON:
{
"points": [88,223,88,223,91,223]
}
我需要使用以下方法将其映射到我的以下课程Jackson
:
public MyClass {
public List<Point2D.Float> points;
}
我怎样才能做到这一点?
解决方案
首先,使用您选择的 JSON 解析器(显然是杰克逊)解析 JSON。
其次,一次迭代列表/数组,2个值,例如
public static List<Point2D.Float> toPoints(List<Float> coords) {
List<Point2D.Float> points = new ArrayList<>();
for (Iterator<Float> iter = coords.iterator(); iter.hasNext(); )
points.add(new Point2D.Float(iter.next(), iter.next()));
return points;
}
测试
System.out.println(toPoints(List.of(88f, 223f, 88f, 223f, 91f, 223f)));
输出
[Point2D.Float[88.0, 223.0], Point2D.Float[88.0, 223.0], Point2D.Float[91.0, 223.0]]
推荐阅读
- node.js - 为什么我收到的 jwt 格式错误?
- android - 如何从另一个类访问字符串变量?
- python - 使用 self 设置类变量值。与类名
- php - COUNT(*) 最大函数嵌套级别
- cordova - 使用 Ionic 4 和 Cordova 的 Google Plus 登录不起作用
- postgresql - grafana postgres 数据源测试返回“指标请求错误”
- python - 如何输入其中包含两个正斜杠的网址
- css - 使用 Bootstrap 容器,一列应拉伸到全宽并触摸屏幕右侧
- java - PreferenceFragmentCompat 中的 TimePicker(DialogFragment)
- python - 将图像从请求转换为 Pygame Surface