猿问

数组的字符串版本到 ArrayList

我有一个像这样的字符串

String myString = "[\"One\", \"Two\"]";

我正在努力弄清楚如何将它变成一个值为“一”和“二”的 ArrayList

我试过使用JSONArray,但它似乎并没有像我预期的那样工作


编辑:“当我打印我的字符串时,它实际上打印时没有 \

System.out.println(myString)印刷:

["One", "Two"]

我试过

JSONArray jsonArr = new JSONArray(stringCharactersArray);

并知道构造函数不能接受字符串。我正在使用 JSONArray 来自

 <dependency>

        <groupId>com.googlecode.json-simple</groupId>

        <artifactId>json-simple</artifactId>

        <version>1.1.1</version>

    </dependency>


慕村225694
浏览 104回答 3
3回答

青春有我

如果您想使用 json-simple解析您的字符串,请执行以下操作:String myString = "[\"One\", \"Two\"]";JSONArray array = (JSONArray) new JSONParser().parse(myString);System.out.println(array);这打印出来:["One","Two"]如果你想把它作为一个,java.util.List那么只需执行以下操作:String myString = "[\"One\", \"Two\"]";List<String> list = Arrays.asList(myString.replaceAll("[\\[\\]]", "").split(", "));System.out.println(list);这打印出来:["One", "Two"]

梦里花落0921

我运行了你的代码并且它工作正常但是我没有使用com.googlecode.json-simple我使用的org.json.JSONArray:<!-- https://mvnrepository.com/artifact/org.json/json --><dependency>&nbsp; &nbsp; <groupId>org.json</groupId>&nbsp; &nbsp; <artifactId>json</artifactId>&nbsp; &nbsp; <version>20180813</version></dependency>和代码:import org.json.JSONArray;public class Test {&nbsp; &nbsp; public static void main(String[] args) {&nbsp; &nbsp; &nbsp; &nbsp; String val = "[\"One\", \"Two\"]";&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; JSONArray jsonArr = new JSONArray(val);&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < jsonArr.length(); i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; System.out.println( jsonArr.getString( i ) );&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}这打印:一二似乎它不需要输入字符串 json 数组完全按照以下标准形成:{"arr": ["One", "two"]}.希望这可以帮助。

HUH函数

你可以试试这个。我用了“org.json”String myString = "[\"One\", \"Two\"]";try {&nbsp; &nbsp; JSONArray jsonArray = new JSONArray(myString);&nbsp; &nbsp; for (int i = 0; i < jsonArray.length(); i++) {&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(jsonArray.getString(i));&nbsp; &nbsp; }} catch (JSONException e) {&nbsp; &nbsp; e.printStackTrace();}&nbsp;它会打印出来。OneTwo
随时随地看视频慕课网APP

相关分类

Java
我要回答