【发布时间】:2015-12-09 12:22:26
【问题描述】:
我有这个字符串
"["a,rt", "der", "a_rt5%"]"
并想将其转换为ArrayList<String>。有没有办法通过 org.json 来做,如果没有,用其他方式吗?
【问题讨论】:
-
到目前为止你做了什么?
-
我尝试将其转换为 jsonobject 但它需要键值结构
我有这个字符串
"["a,rt", "der", "a_rt5%"]"
并想将其转换为ArrayList<String>。有没有办法通过 org.json 来做,如果没有,用其他方式吗?
【问题讨论】:
这实际上是你的JsonArray,所以需要相应地工作
public static void main(String[] args) {
String json = "[\"a,rt\", \"der\", \"a_rt5%\"]";
JSONArray jsonArray = new JSONArray(json);
List<String> list = new ArrayList<String>();
for (int i=0; i<jsonArray.length(); i++) {
list.add( jsonArray.getString(i) );
}
System.out.println(list);
}
输出
[a,rt, der, a_rt5%]
【讨论】:
String str = "["a,rt", "der", "a_rt5%"]";
str = str.substring(1, sortStr.length()-2);
String[] words = "{"+str+"}";
List<String> wordList = Arrays.asList(words);
试试这个。
【讨论】:
如果您不想使用 JSON 库,那么这就是解决您问题的代码:
public static void main(String[] args) {
String s = "[\"a,rt\", \"der\", \"a_rt5%\"]";
s = s.replace("[\"", "");
s = s.replace("\"]", "");
String[] s1 = s.split("\", \"");
List<String> sArrayList = new ArrayList<>();
sArrayList = Arrays.asList(s1);
for (String e : sArrayList)
{
System.out.println(e);
}
}
【讨论】: