java如何将字符串转为集合?

现有字符串
String str = "[\"P01\",\"P02\",\"P03\",\"P04\",\"P05\",\"P06\"]";
欲将其转化为
List<String>集合

尝试通过Arrays.asList()方法对其进行处理,但需先将str内的中括号"[" "]"去除

有无更方便快捷的处理方式能将JSON.stringify(array)处理过后的JSON数组直接将转为JAVA集合

阅读 745
评论 2019-10-10 提问
    5 个回答

    使用json库一般都可以的。什么jackson,fastjson,gson等等。

    尝试通过Arrays.asList()方法对其进行处理,但需先将str内的中括号"[" "]"去除。

    去掉"[]"有一些工具类可以使用。我这里提一下(下面的示例只用作展示去掉[]的工具类,实际中还是使用json库吧。)

        package testng;
    
    import java.util.Arrays;
    import java.util.List;
    
    import org.apache.commons.lang.StringUtils;
    public class Test {
        public static void main(String[] args) {
            String str = "[\"P01\",\"P02\",\"P03\",\"P04\",\"P05\",\"P06\"]";
            str = StringUtils.stripStart(str, "[");//去掉前[
            str = StringUtils.stripEnd(str, "]");//去掉后]
            List<String> d = Arrays.asList(StringUtils.split(str,","));
            System.out.println(d);
        }
    }
    
    评论 赞赏 2019-10-12

      即使是第三方的方法,也是通过去除中括号 来做转换的

      评论 赞赏 2019-10-10

        阿里的fastjson中有JSON.parseArray方法可以处理

        评论 赞赏 2019-10-10
          _TNT_
          • 2.8k

          一堆json库可以用,推荐jackson

          评论 赞赏 2019-10-10

            s.replace("[|]|“",“”).split(",")

            评论 赞赏 2019-10-16
              撰写回答

              登录后参与交流、获取后续更新提醒