[英]Extract json string array value from json object using java
[英]How to extract a json object from a json array by name in java?
我正在從Google Directions API接收JSON,該請求類似於此處顯示的請求(在Directions Responses-> Json Output下) 鏈接
我不知道如何從json數組中提取特定條目。 基本上,我需要的是JSONObject方法get(String key)的JsonArray等效項,您可以在其中將條目映射到特定的鍵。 但是,JSONArray沒有這種方法,並且似乎僅支持通過特定索引來檢索信息。 這一切都很好,但是谷歌路線響應的內容可能會有所不同-因此,我需要一種方法來找到特定的鍵值對,或者遍歷整個數組並檢查鍵值。 我什至可以找到一種確定JSONObject映射到的密鑰的方法。 有什么建議么? 例:如何從JSONArray分支中提取距離JSONObject?
編輯:這就是我被困的地方:在這里引用JSON示例輸出...我正在嘗試獲取“ routes” json數組中“ overview_polyline”條目的值。 由於無法僅通過引用其名稱來訪問“ overview_polyline”條目,因此必須遍歷該數組,直到獲得該條目為止。 但是我怎么知道我何時進入那個條目的呢? 是的,也許我可以檢查該條目的JSONObject表示形式是否具有“ points”鍵,但這不一定是“ overview_polyline”條目所獨有的。 另外,我不能簡單地獲取(array.length()-n)條目,因為數組中返回的條目數可能會有所不同。 簡而言之,在我看來,我需要一種方法來檢查每個JSONObject的名稱(“ overview_polyline”),以便可靠地提取該信息。
JSONArray routesArray = resultObj.getJSONArray("routes");
for(int i = 0; i < routesArray.length(); i++)
{
JSONObject obj = routesArray.optJSONObject(i);
if(obj != null)
{
//How do I determine if this object is the "overview_polyline"
//object?
}
}
route
是JSONObject
的JSONArray
,因此您必須采用以下方式:
JSONArray routesArray = resultObj.getJSONArray("routes");
for(int i = 0; i < routesArray.length(); i++) {
JSONObject obj = routesArray.optJSONObject(i);
if(obj != null) {
JSONObject polyline = obj.optJSONObject("overview_polyline");
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.