簡體   English   中英

從 Android 中的 URL 中提取 JSON 的特定部分?

[英]Extracting specific section of JSON from URL in Android?

我正在構建一個小型應用程序來跟蹤城市周圍的自行車站,並且我有一個 API,它為我提供了提供服務的公司在自行車站的自行車可用性的當前狀態。

我的計划是創建一種交互式 map,其中包含每個自行車站的所有標記,當用戶點擊其中一個時,他們會獲得該特定自行車站的信息。 我已經將所有位置編碼為 map 上的標記。 我現在需要的是能夠獲取用戶點擊的特定自行車站的數據。

我從 API 獲得的 JSON 的一部分示例如下:

"number": INT,
"contract_name": "STRING",
"name": "STRING",
"address": "STRING",
"position": {
  "lat": DOUBLE,
  "lng": DOUBLE
},
"banking": BOOLEAN,
"bonus": BOOLEAN,
"bike_stands": INT,
"available_bike_stands": INT,
"available_bikes": INT,
"status": "STRING",
"last_update": 1588583133000
},
....

這個結構對於我從 API 得到的 JSON 的所有 100 多個節點都是相同的。

我的問題是,我將如何 go 從 JSON 的 rest 中過濾掉一個單獨的條目。 參數number是每個自行車站唯一的 ID。

有沒有圖書館可以為我做到這一點? 我的想法(非常天真)是每次都在本地保存整個 JSON,然后 go 通過它尋找"number":X然后解析出我需要的數據,雖然這顯然是非常低效的,但我認識到這一點。

我只對每個 JSON 的一部分感興趣,要向用戶顯示:節點的bankingbonusavailable_bike_stands自行車支架、 available_bikes自行車和status標簽。 狀態標簽是可選的,它應該簡單地告訴我自行車站是打開(可用)還是關閉。

非常感謝,

問候。

從 API 獲取數據 --> Retrofit

保存本地數據--> SharePreference, Room

獲取每個 JSON 的一部分 --> 您創建一個包含您需要的一些字段的 object。 當您使用 retrofit 從 API 獲取數據時,它將返回您想要的結果

class YourClass {
    @SerializedName("number")
    var number: Int? = null
    @SerializedName("banking")
    var banking: Boolean? = null
    @SerializedName("bonus")
    var bonus: Boolean? = null
    @SerializedName("available_bike_stands")
    var availableBikeStands: Int? = null
    //... fields you need
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM