我收到一個JSONObject這樣轉換成JSONObject的String數組
{"tag":"value1", "tag":"value2", .............}
我如何讓它進入
["value1", "value2"]
我收到一個JSONObject這樣轉換成JSONObject的String數組
{"tag":"value1", "tag":"value2", .............}
我如何讓它進入
["value1", "value2"]
一個String數組創建ArrayList和從JSONObject的獲取字符串並將其存儲在數組列表中。
做這樣
ArrayList tagarray=new ArrayList();
JSONObject jo=new JSONObject(jsonstring);
for(int i=0;i<jo.length();i++){
tagarray.add(jo.getString("tag"));
}
您可以檢查編輯請。這實際上不是(我的錯誤)「tag1」,「tag2」。這是所有的「標籤」,「標籤」....我該怎麼做? – user3299978
我編輯了我的答案。 – Nambi
如果標籤將是標籤1,標籤2等等...你可以使用一個for循環,
string[i] = jsonObj.getString("tag"+i);
或者你也可以做一個模型類與數據類型的字符串或ArrayList標籤,例如。
class ModelClass{
ArrayList<String> tag;
//getter setter here
}
而且與使用GSON的JSON解析和映射數據,
Gson gson = new Gson();
modelClass= gson.fromJson(yourJson,ModelClass.class);
和你的工作就完成了。你有ArrayList標籤中的每個值。
這對解析和映射長和複雜的json字符串更有用。
https://code.google.com/p/google-gson/
命名差異(根據在web服務中的變量),可以使用像@SerializedName註解。 (所以不需要使用Serializable)
我誤將tag1,tag2。一切都像「標籤」 – user3299978
甚至更好,然後使用每個循環,你的工作很容易:) – user2450263
使用下面的代碼。
ArrayList array=new ArrayList();
JSONObject jo=new JSONObject(jsonstring);
for(int i=0;i<jo.length();i++){
array.add(jo.getString("tag"));
}
String[] Arr = new String[array.size()];
Arr = array.toArray(Arr);
或者您有其他選擇。
JSONObject jo=new JSONObject(jsonstring);
String[] array = new String[jo.length()];
for(int i=0;i<jo.length();i++){
array[i] = jo.getString("tag");
}
有很酷的叫做GSON的lib,它將所有類型的JSON轉換成它的對象真的很有幫助。
嘗試這種方式
JSONObject obj = new JSONObject("");
Iterator<String> itr = obj.keys();
int i=0;
String[] values = new String[obj.length()];
while(itr.hasNext()){
values[i++] = obj.getString((String)itr.next());
}
關鍵是相同的所有值 – Nambi