Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将看起来像数组的字符串转换为字符串数组或字符串数组列表_Java_Arrays_String - Fatal编程技术网

Java将看起来像数组的字符串转换为字符串数组或字符串数组列表

Java将看起来像数组的字符串转换为字符串数组或字符串数组列表,java,arrays,string,Java,Arrays,String,我有一个看起来像数组的字符串: [“944”,“姓名”,“你好,你好”,1,6,0,false,“日期”] 注意:上面的内容被包装在“”中,就像字符串一样。因此整数和布尔值在这个字符串中,而像“944”这样的数字也在字符串中,如果您愿意的话,字符串中的字符串 如何将其转换为Java字符串数组或字符串列表?修剪非数据的首尾,然后拆分: String[] parts = str.replaceAll("^\\[|\\]$", "").split(",(?=(([^\"]*\"){2})*[^\"]*

我有一个看起来像数组的字符串:

[“944”,“姓名”,“你好,你好”,1,6,0,false,“日期”]

注意:上面的内容被包装在
”中,就像字符串一样。因此整数和布尔值在这个字符串中,而像“944”这样的数字也在字符串中,如果您愿意的话,字符串中的字符串


如何将其转换为Java字符串数组或字符串列表?

修剪非数据的首尾,然后拆分:

String[] parts = str.replaceAll("^\\[|\\]$", "").split(",(?=(([^\"]*\"){2})*[^\"]*$)");

逗号拆分的前瞻性资产不在引号对内。

我使用Gson解决了它

Type listType = new TypeToken<List<String>>() {}.getType();
List<String> postData = new Gson().fromJson(stringThatLooksLikeArray, listType);
Type listType=new-TypeToken(){}.getType();
List postData=new Gson().fromJson(stringThatLooksLikeArray,listType);

您正在寻找一个JSON解析器。修剪引号和方括号,用逗号分割。完成。@ThomasJunk,这不起作用。在上面的示例中,这将分割第三个元素“Hi,Hi”“。但是是的,我忘了我在这个项目中有Gson。完成了。@David是的,你是对的:必须先用逗号分割;)这是在拆分字符串时适当注意双引号的唯一解决方案。我想我遇到的大多数情况都是在进行某种形式的数据传输(很可能是通过JSON),因此在任何类型的项目中使用Gson都可以提供这些很好的简短解决方案。
“Hi,Hi”
被拆分。@aioobe no,我写评论的时候没有。现在看起来不错。(但您可能需要修剪零件。)