如何訪問json對象java中的重複元素?

凱里基利安

起初:我知道,有很多這樣的問題,但答案沒有幫助。我是 JSON 的新手,並感謝每一個答案。

我有一個像這樣的 json 對象:

{
  "version": 0.6,
  "generator": "Overpass API 0.7.57 93a4d346",
  "osm3s": {
    "timestamp_osm_base": "2021-10-26T12:48:42Z",
    "copyright": "The data included in this document is from www.openstreetmap.org. The data is made available under ODbL."
  },
  "elements": [

{
  "type": "node",
  "id": 58489979,
  "lat": 52.5098189,
  "lon": 13.4073729,
  "tags": {
    "addr:city": "Berlin",
    "addr:country": "DE",
    "addr:housenumber": "83",
    "addr:postcode": "10179",
    "addr:street": "Alte Jakobstraße",
    "addr:suburb": "Mitte",
    "brand": "Netto Marken-Discount",
    "brand:wikidata": "Q879858",
    "brand:wikipedia": "de:Netto Marken-Discount",
    "name": "Netto Marken-Discount",
    "shop": "supermarket",
    "website": "http://netto-online.de/",
    "wheelchair": "no"
  }
},
{
  "type": "node",
  "id": 269479009,
  "lat": 52.5136840,
  "lon": 13.4060088,
  "tags": {
    "addr:city": "Berlin",
    "addr:country": "DE",
    "addr:housenumber": "12",
    "addr:postcode": "10179",
    "addr:street": "Fischerinsel",
    "addr:suburb": "Mitte",
    "contact:website": "http://www.edeka.de",
    "name": "Edeka Ungefroren",
    "opening_hours": "Mo-Sa 07:00-21:00",
    "shop": "supermarket",
    "toilets:wheelchair": "yes",
    "wheelchair": "yes"
  }
}, ...

json 對象可以有數百個以 "type" : "node" 開頭的元素。現在我想訪問所有經緯度和名稱。有很多示例如何訪問元素,我知道但它們不起作用,例如這不起作用

JSONObject jsonObj = new JSONObject(string);
jsonObj.getString("lat");

此外,我有數百個元素,我想訪問所有 lats、所有 lons 和所有名稱。我怎麼做?我看到的大多數示例都是針對簡單的 json 對象,還是我只是理解錯了?

大衛·洛倫佐·馬里諾

您首先需要將“元素”屬性作為 JSONArray 獲取。然後你可以檢索 JSONObject 持有 lat 如下:

JSONObject jsonObj = new JSONObject(string);
JSONArray resultArray = jsonObj.getJSONArray("elements");
for (int i = 0; i < resultArray.length(); i++) {
    JSONObject item = resultArray.getJSONObject(i);
     
    // Now you can retrieve the lat
    double lat = item.getDouble("lat");  // Not getString("lat") because lat is a number, not a string
    ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在 Python 中以 JSON 的形式訪問對象的對象?

如何從對象訪問元素?爪哇

如何訪問反序列化 json 中的“文本”和“音頻”對象?

如何訪問作為python中類屬性的對象列表中的對象屬性?

如何訪問 JSON 數組對象第三層上的數據

從反應訪問 Json 文件中的嵌套數組對象

訪問另一個 Java 類中的現有對象

如何在 Javascript 中訪問以下對象參數

如何訪問對象內的數組?(Javascript)

如何訪問對象的名稱屬性

如何遞歸訪問對象值?

JavaScript - 如何訪問對象的第二個對象

從 R 中的 tidygraph 對象列表中刪除重複的元素?

如何將嵌套的 json 對象分配給數據模型並使用顫振訪問屬性?

如何將json對象鍵轉換為不同的數組以去除重複項

獲取newsApi時如何刪除Array中的重複對象

如何刪除重複的對象並排序?

如何刪除json中的對象

如何訪問R中的列表元素?

在 API 中,我無法訪問我在 vue js 中創建的 FormData 對象

有沒有辦法在java中訪問重複的JPanel的組件?

如何根據對象訪問鍵獲取不同的返回類型?

如何在 reactjs 中使用 map 方法訪問深度嵌套的圖像對象?

如何在 C# 中正確訪問對象的 List<> 值?

vue 3 無法訪問方法中的數據對象

在 switch case 中對象超出範圍時的訪問衝突

在單獨的模塊中訪問 pyqt 窗口中的對象屬性

在屬性/方法 Django 中訪問自引用對象

數組中的 Vue 3 對象無法訪問