![](/img/trans.png)
[英]Get String from json with nested json object and nested json arrays with multiple json object, in Android
[英]Convert json object into multiple arrays android
我有一個從服務器下載的json對象,它以以下格式返回結果:
{"Bookname":["Alive-O","All Write Now ","Bun Go Barr 1","Planet Maths","Small World"],"SubjectName":["Religion","English","Irish","Maths","Science"]}
我想要做的是將其轉換為兩個不同的數組,以在android設備上使用。
這是我的asynctask中的請求和尋找響應
String[] BookName;
String[] BookSubject;
try {
post.setEntity(new UrlEncodedFormEntity(dataToSend));
HttpResponse httpResponse = client.execute(post);
HttpEntity entity = httpResponse.getEntity();
String result = EntityUtils.toString(entity);
JSONObject jObject = new JSONObject(result);
}
只是想知道如何將上述結果存儲在兩個數組中?
假設您選擇JSONObject
,那么您的JSON是該異常結構,並且您希望在Java中鏡像該結構:
步驟#1:在getJSONArray()
上jObject()
兩次,以獲取兩個JSONArray
對象( Bookname
和SubjectName
)
步驟#2:將每個String[]
分配為適當的長度(在JSONArray
上調用length()
)
步驟#3:對於每個JSONArray
,遍歷數組索引(從0到length()
),並為每個索引調用getString()
,將其分配給關聯的String[]
的適當索引
就像這樣
JSONObject jsonObject = new JSONObject(result);
// for getting booknames
JSONArray jsonArray = jsonObject.getJSONArray("Bookname");
bookName = new String[jsonArray.length()]
for (int i = 0; i < jsonArray.length(); i++) {
bookName[i] = jsonArray.getString(i);
}
// for getting subjectnames
jsonArray = jsonObject.getJSONArray("SubjectName");
bookSubject = new String[jsonArray.length()]
for (int i = 0; i < jsonArray.length(); i++) {
bookSubject[i] = jsonArray.getString(i);
}
希望對您有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.