可以使用以下代码实现:

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class Main {
    public static void main(String[] args) {
        String jsonString = "{\"geometry\":{\"points\":[[{\"x\":116.58689660034506,\"y\":39.68183559609521},{\"x\":116.58690816565,\"y\":39.68112628238105}],[{\"x\":116.58689660034506,\"y\":39.68183559609521},{\"x\":116.58690816565,\"y\":39.68112628238105}]]}}";
        JSONObject jsonObject = JSONObject.parseObject(jsonString);
        JSONArray pointsArray = jsonObject.getJSONObject("geometry").getJSONArray("points");
        for (int i = 0; i < pointsArray.size(); i++) {
            JSONArray subArray = pointsArray.getJSONArray(i);
            for (int j = 0; j < subArray.size(); j++) {
                JSONArray coordArray = subArray.getJSONArray(j);
                coordArray.set(0, coordArray.getDouble(0));
                coordArray.set(1, coordArray.getDouble(1));
            }
        }
        System.out.println(jsonObject.toJSONString());
    }
}

输出结果为:

{"geometry":{"points":[[[116.58689660034506,39.68183559609521],[116.58690816565,39.68112628238105]],[[116.58689660034506,39.68183559609521],[116.58690816565,39.68112628238105]]]}}

该代码中首先使用FastJSON库将JSON字符串解析为JSONObject对象,然后获取到points数组,并循环遍历其中的每个子数组和坐标值,将每个坐标值的x和y属性转换为对应的double类型,并替换原来的值。最后再将修改后的JSONObject对象转换为字符串输出即可

geometrypointsx11658689660034506y3968183559609521x11658690816565y3968112628238105x11658689660034506y3968183559609521x11658690816565y3968112628238105 怎么用java 循环遍历为 geometrypoints1165868966003

原文地址: https://www.cveoy.top/t/topic/fnNV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录