当前位置: 首页 > 知识库问答 >
问题:

在Java中使用getJSONArray()和getJSONObject()从JSON文件中获取元素

关翰
2023-03-14

我想浏览下面的json文件并将部分保存在“坐标”之后。

json文件:

{"type": "FeatureCollection","features": [{"type": "Feature","properties": {},"geometry": {"type": "LineString","coordinates": [[4.354282,52.032195],[4.354087,52.032462],[4.353783,52.032962],[4.353579,52.033437],[4.353333,52.034151],[4.352991,52.03545],[4.352517,52.037002],[4.352442,52.037352],[4.352368,52.0378],[4.352336,52.038238],[4.352331,52.039962],[4.352346,52.040706]
    ]
  }
}

] }

我在这里和这里看到过使用getJSONArray()和getJSONObject()的代码。这些信息帮助我选择了“几何体”树。

到目前为止,我的代码(test2.geojson是上面提到的json文件):

        String output = new String(Files.readAllBytes(Paths
                .get("C:\\Users\\****\\Desktop\\test2.geojson")));

        JSONObject obj = new JSONObject(output);

        JSONArray jsonArray = obj.getJSONArray("features");
        System.out.println(jsonArray);

但是,这只会重新排列文件,并将第一部分附加到文件末尾。

[{"geometry":{"coordinates":[[4.354282,52.032195],[4.354087,52.032462],[4.353783,52.032962],[4.353579,52.033437],[4.353333,52.034151],[4.352991,52.03545],[4.352517,52.037002],[4.352442,52.037352],[4.352368,52.0378],[4.352336,52.038238],[4.352331,52.039962],[4.352346,52.040706]],"type":"LineString"},"type":"Feature","properties":{}}]

获得以下所需输出的任何解决方案:

[[4.354282,52.032195],[4.354087,52.032462],[4.353783,52.032962],[4.353579,52.033437],[4.353333,52.034151],[4.352991,52.03545],[4.352517,52.037002],[4.352442,52.037352],[4.352368,52.0378],[4.352336,52.038238],[4.352331,52.039962],[4.352346,52.040706]
    ]
  }
}

] }

提前感谢。干杯!

共有1个答案

楚良平
2023-03-14

由于“geometry”是一个json对象{},“coordinates”是一个json数组[],

你应该

JSONArray jsonArray = obj.getJSONArray("features");
JSONArray resultArray = jsonArray.getJSONObject[0].getJSONObject("geometry").getJSONArray("coordinates")
 类似资料:
  • 我使用Unirest从一个endpoint获取所有id,我的数组如下: 现在我想得到所有,其中是0,我使用的是一个逻辑,它将得到,但是,我需要使用Java使用这个条件得到。 有人能帮我解决这个问题吗?

  • 问题内容: 我如何使用javascript和jquery获取json文件的数组json 我正在尝试下一个代码,它不起作用: 这是一个名为的json文件:questions.json 我想要一个具有以下格式的数组{Biology:{Category:{cell:{question1 ....}}}} 问题答案: 是一个异步函数,因此返回该函数内部的任何内容均无济于事,因为它不在范围内或尚未收到。您可

  • 我试图从json文件中获取img src属性,但没有显示图像,也没有显示替代文本。我确信这些图像在src/assets目录中找到,它们的名称是正确的。 这是组件: 以及以下观点: projects.json文件: 那么我的错误在哪里?

  • 问题内容: 我正在尝试使用PHP从以下JSON文件中获取数据。我特别想要“ temperatureMin”和“ temperatureMax”。 这可能真的很简单,但是我不知道该怎么做。我被困在file_get_contents(“ file.json”)之后该做什么。一些帮助将不胜感激! 问题答案: 使用以下命令获取JSON文件的内容: 现在使用解码JSON : 您有一个包含所有信息的关联数组。

  • 问题内容: 只是因为一个简单,易于表达的陈述使我的脸上有些错误,所以我有点头疼。 我有一个名为strings.json的json文件,如下所示: 我现在想读取json文件。我发现了以下这些语句,但是不起作用: 控制台上显示的错误是这样的: 已编辑 从更改为 并得到了这个: 问题答案: 该方法(“ load”中没有“ s”)可以直接读取文件: 您正在使用方法,该方法仅用于 字符串 参数。 编辑:新消