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,我写评论的时候没有。现在看起来不错。(但您可能需要修剪零件。)