2014-02-12 24 views

回答

1

一個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")); 

    } 
+0

您可以檢查編輯請。這實際上不是(我的錯誤)「tag1」,「tag2」。這是所有的「標籤」,「標籤」....我該怎麼做? – user3299978

+0

我編輯了我的答案。 – Nambi

0

如果標籤將是標籤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)

+0

我誤將tag1,tag2。一切都像「標籤」 – user3299978

+0

甚至更​​好,然後使用每個循環,你的工作很容易:) – user2450263

0

使用下面的代碼。

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"); 
    } 
0

有很酷的叫做GSON的lib,它將所有類型的JSON轉換成它的對象真的很有幫助。

1

嘗試這種方式

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()); 
     }