我有一个像这样的字符串:
["http://www.ebuy.al/Images/dsc/17470_500_400.jpg", "http://www.ebuy.al/Images/dsc/17471_500_400.jpg"]
如何将其转换为ArrayList
的{{1}}?
答案 0 :(得分:1)
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。
答案 1 :(得分: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);
}
答案 2 :(得分:0)
如果删除第一个和最后一个括号,可以使用简单的CSV解析器(&#39; [&#39;,&#39;]&#39;)
这样的事情:
List<String> items = Arrays.asList(str.split("\\s*,\\s*"));
答案 3 :(得分: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库