我有一个奇怪的问题,我从服务器端接收一个字符串数组的压缩文本,例如["str1","str2"]
或["str"]
我可以将其转换为普通的字符串数组吗?像:
String[] array;
array[1] = "str";
我知道转换simple字符串并不是一个大问题但不是这个......有什么想法吗?
答案 0 :(得分:6)
此文本可以视为JSON,因此您可以尝试使用您选择的JSON解析器。对于gson,您的代码可能看起来像。
String text = "[\"str1\",\"str2\"]"; // represents ["str1","str2"]
Gson gson = new Gson();
String[] array = gson.fromJson(text, String[].class);
System.out.println(array[0]); //str1
System.out.println(array[1]); //str2
如果您能够更改服务器发送信息的方式,您可以考虑发送数组对象,而不是代表数组内容的文本。更多信息在
或序列化/反序列化下的许多其他Java教程。
答案 1 :(得分:0)
这可能会对您有所帮助:
// cleanup the line from [ and ]
String regx = "[]";
char[] ca = regx.toCharArray();
for (char c : ca) {
line = line.replace("" + c, "");
}
String[] strings = line.split("\\s*,\\s*");
// now you have your string array