[英]Get array value inside another array in JSON using Java
這是我的 JSON 格式
{
"personalData": [
"firstName": "John",
"lastName": "Doe",
"hobby": ["Hiking", "Running", "Swimming"]
]
}
我如何在“愛好”中獲取每個元素
這是我現有的返回所有項目的代碼
JSONObject jsonObject = new JSONObject(classJSON.getJSON(getActivity()));
JSONArray jsonArray = jsonObject.getJSONArray("personalData");
JSONObject data = jsonArray.getJSONObject(0);
data.getString("firstName")
// This will return "John"
data.getString("lastName")
// This will return "Doe"
data.getString("hobby")
// This will return ["Hiking", "Running", "Swimming"]
// How I can access each element in "hobby" like how I can get the element in first index.
你目前擁有的東西有點不對勁。
例如,您的 json 不會解析,因為您在個人數據中定義了一個數組,但是您正在用鍵值對填充它,這僅允許在對象中使用。
實際上,您的 json 應該如下所示:
{
"personalData": {
"firstName": "John",
"lastName": "Doe",
"hobby": ["Hiking", "Running", "Swimming"]
}
}
鑒於這是一個 JSONObject 而不是 JSONArray,您必須替換它:
JSONArray jsonArray = jsonObject.getJSONArray("personalData");
JSONObject data = jsonArray.getJSONObject(0);
有了這個:
JSONObject data = jsonObject.getJSONObject("personalData");
此時,您將能夠像這樣提取愛好數組:
data.getJSONArray("hobby")
我不確定您是否進行過任何測試,但data.getString("hobby")
應該拋出 JSONException,因為它是 JSONArray,而不是字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.