我有一个Java项目,它会查询一个返回String类似的API :
"['test1', 'test2', 'test3']" // the array is a string
Run Code Online (Sandbox Code Playgroud)
所以基本上是一个解析为a的数组对象String.我想知道将其转换为真正的Java的最佳方法List.
['test1', 'test2', 'test3']是一个JSON数组,所以它可以用Gson或Jackson解析.虽然JSON通常要求在String值周围使用双引号,但Gson仍会解析单引号:
String json = "['test1', 'test2', 'test3']";
Type listType = new TypeToken<List<String>>() {}.getType();
List<String> list = new Gson().fromJson(json, listType);
System.out.println(list); // [test1, test2, test3]
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用正则表达式.假设值不能包含转义的撇号\'符号:
String text = "['test1', 'test2', 'test3']";
Pattern pattern = Pattern.compile("'([^']+)'");
Matcher matcher = pattern.matcher(text);
List<String> list = new ArrayList<>();
while (matcher.find()) {
list.add(matcher.group(1));
}
System.out.println(list); // [test1, test2, test3]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |