我目前正在研究基於TFL的項目。我想解析JSON文件,該文件是在這個環節上可供選擇:http://countdown.api.tfl.gov.uk/interfaces/ura/instant_V1 所以,請幫我出如何解析TFL api
回答
書面的TFL API文檔中此API不是標準JSON。實際上,我們最好將其解析爲CSV,但請注意,因爲我發現某些響應不一致,其中第一行可能有6個字符串,而第二行可能有5個,而缺少的字段未被標識爲空字符串,但僅省略。這種使用CSV解析器進行解析的方法會導致錯誤,因爲您可能永遠不知道省略了什麼。
我也搜索瞭解決方案,我能找到的最好的是另一個API,它提供標準的JSON,但只通過stopCode
請求返回公交車站倒計時。
使用此鏈接訪問它。 http://countdown.tfl.gov.uk/stopBoard/75288
林驚訝,爲什麼TFL使用這個API爲自己的應用程序,但沒有實現公共API返回良好JSON像這樣的。
此API不是標準的JSON,如TFL API文檔中所寫。獲取內容後,您可以更改該格式。使用這個鏈接http://jsonlint.com/它會驗證你的json格式。所以你可以很容易地理解JSON格式錯誤
獲得內容後做
JSONArray jArray = new JSONArray("["+ result.replaceAll("]", "],").toString() + "]")
現在你得到適當的JSON數組跳過jArray零位置,這是 - URA版陣列。
Bette r還使用了一些CSV分析功能,可以讓你以對象的形式訪問這些字體。但是這仍然不一致,因爲我發現這些字段沒有正確填充。例如,每行返回7個字段的請求有時會在某些行上返回5或6。由於缺少的字段未被識別爲空字符串,解析器永遠不會知道缺少哪個字段。 –
根據TFL文檔,它不是一個完整的JSON對象。您將每行視爲單獨的JSON對象。這樣,如果/當您移動到流式傳輸模式時,您可以繼續接收對象並在流式傳輸時解釋它們。此外,您還可以使用JSON數組中的第一個元素來確定如何處理該特定行,或者在某些情況下需要刷新基礎數據。
- 1. 如何解析TwitchTV Api?
- 2. 使用tfl數據api - 教程?
- 3. 如何使用TFL Api並獲得它的關鍵?
- 4. 如何處理TFL新聞提要?
- 5. googlePlaces API解析
- 6. 解析API
- 7. 如何從API中解析JSON
- 8. 如何從Web API解析JSON在JavaScript
- 9. Python-JSON - 如何解析API輸出?
- 10. 如何查詢與解析JavaScript API第
- 11. 如何在xamarin.android中解析xml api
- 12. 如何解析XML(Fogbugz XML API)?
- 13. 如何解析api的swift 3?
- 14. 如何解析API響應Kimonofy
- 15. 如何使用此API解析Wikihow?
- 16. 如何在JavaMail的API解析簽名?
- 17. 如何解析雅虎BOSS API響應
- 18. 第三方api解析,xml解析,原始數據解析,ror解析,ror nokoigiri,第三方api解析nokogiri
- 19. miniXML解析C API
- 20. Android JSON API解析
- 21. 解析API請求
- 22. 解析HTML從API
- 23. 如何xml解析
- 24. 如何解析javadoc?
- 25. 如何解析XML?
- 26. 使用PHP處理來自TFL api的JSON響應?
- 27. 如何解析
- 28. 如何解析
- 29. 如何解析JSON?
- 30. 的java jsoup解析如何解析HTML
鏈接也許?到你找到的API。 –
已更新的答案請參閱我的意見 –
您不應使用CSV解析器,因爲它不是CSV。請參閱我的答案,瞭解如何逐行解析它。 –