2014-09-01 119 views
0

我有一個這樣的字符串:將字符串轉換成一個數組列表的Java

["http://www.ebuy.al/Images/dsc/17470_500_400.jpg", "http://www.ebuy.al/Images/dsc/17471_500_400.jpg"] 

我怎麼能轉換成StringArrayList S'方法1:

+0

它看起來像JSON一樣可疑。是嗎? – FatalError 2014-09-01 15:16:52

+0

是的,它來自JSON服務 – Xhulio 2014-09-01 15:18:01

+0

什麼是您的數據輸入? – 2014-09-01 15:18:31

回答

0

這將是更合適的

String jsonArr = "[\"http://www.ebuy.al/Images/dsc/17470_500_400.jpg\", 
        \"http://www.ebuy.al/Images/dsc/17471_500_400.jpg\"]"; 
List<String> listFromJsonArray = new ArrayList<String>(); 
JSONArray jsonArray = new JSONArray(jsonArr); 
for(int i =0 ;i<jsonArray.length();i++){ 
     listFromJsonArray.add(jsonArray.get(i).toString()); 
} 

並且不要忘記添加json

+0

你的意思是[JSON.org](http://json.org/)庫。 – 2014-09-01 15:42:08

+0

@LuiggiMendoza ya artifactId json和groupid org.json – SparkOn 2014-09-01 15:43:51

+0

@LuiggiMendoza答案出錯了 – SparkOn 2014-09-01 16:57:44

0

方法1:遍歷數組並在每次迭代時將每個元素放入arrayList。

方法2:使用asList() method

例1: 使用asList()方法

String[] urStringArray = { "http://www.ebuy.al/Images/dsc/17470_500_400.jpg", "http://www.ebuy.al/Images/dsc/17471_500_400.jpg"} 
List<String> newList = Arrays.asList(urStringArray); 

例2 使用簡單的迭代

List<String> newList = new ArrayList<String>(); 
for(String aString:urStringArray){ 
newList.add(aString); 
} 
1

使用Arrays#asList

String[] stringArray = { "http://www.ebuy.al/Images/dsc/17470_500_400.jpg", "http://www.ebuy.al/Images/dsc/17471_500_400.jpg"} 
List<String> stringList = Arrays.asList(stringArray); 

如果你的字符串包含括號[]和雙引號"",那麼你應該首先手動解析字符串。

String yourString = "[\"http://www.ebuy.al/Images/dsc/17470_500_400.jpg\", \"http://www.ebuy.al/Images/dsc/17471_500_400.jpg\"]"; 
String[] stringArray = yourString 
    .substring(1, yourString.length() - 2) 
    .replace('"', '\0') 
    .split(",\\s+"); 
List<String> stringList = Arrays.asList(stringArray); 

試試上面的當且僅當你將永遠以這種格式接收您的String。否則,請使用適當的JSON解析器庫,如Jackson

+0

字符串從服務中找到我,如下所示:[「http://www.ebuy.al/Images/dsc/17470_500_400.jpg」,「http:/ /www.ebuy.al/Images/dsc/17471_500_400.jpg「]',現在應該如何轉換成不帶引號的字符串」 – Xhulio 2014-09-01 16:10:29

+0

@Luigi從服務中得到確切的字符串:'[「http:// www.ebuy.al/Images/dsc/17470_500_400.jpg「,」http://www.ebuy.al/Images/dsc/17471_500_400.jpg「]'現在我想要將字符串轉換爲字符串的數組列表,並且每個元素都包含這種'String':http://www.ebuy.al/Images/dsc/17470_500_400.jpg以便我可以將它用作URL。以上所有方法都不會影響功能 – Xhulio 2014-09-01 16:27:44

+0

@Xhulio I第一次閱讀你的答案更新 – 2014-09-01 16:28:18

0

您可以使用簡單的CSV解析器,如果你刪除第一個和最後一個括號( '[', ']')

事情是這樣的:

List<String> items = Arrays.asList(str.split("\\s*,\\s*")); 
相關問題