【问题标题】:String to ArrayList via org.json通过 org.json 到 ArrayList 的字符串
【发布时间】:2015-12-09 12:22:26
【问题描述】:

我有这个字符串 "["a,rt", "der", "a_rt5%"]" 并想将其转换为ArrayList<String>。有没有办法通过 org.json 来做,如果没有,用其他方式吗?

【问题讨论】:

  • 到目前为止你做了什么?
  • 我尝试将其转换为 jsonobject 但它需要键值结构

标签: java arraylist org.json


【解决方案1】:

这实际上是你的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%]

【讨论】:

    【解决方案2】:
    String str = "["a,rt", "der", "a_rt5%"]";
    str = str.substring(1, sortStr.length()-2);
    String[] words = "{"+str+"}";  
    List<String> wordList = Arrays.asList(words);  
    

    试试这个。

    【讨论】:

      【解决方案3】:

      如果您不想使用 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);  
                }  
      
          }
      

      【讨论】:

        猜你喜欢
        • 2015-01-12
        • 2012-11-21
        • 2018-09-18
        • 1970-01-01
        • 1970-01-01
        • 2018-05-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多