Java 将表示数组的JSON转换为字符串[]

Java 将表示数组的JSON转换为字符串[],java,arrays,json,Java,Arrays,Json,我有一个外部字符串,它表示JSON中的数组,如下所示: ["abc", "xyz", "123"] 我想将其解析为String[]并对其进行迭代 到目前为止,我只知道如何使用它的一部分: // value = incoming String String[] contentUrlList = new String[] { value }; for (int i = 0; i < contentUrlList.length; i++) { String contentUri =

我有一个外部字符串,它表示JSON中的数组,如下所示:

["abc", "xyz", "123"]
我想将其解析为
String[]
并对其进行迭代


到目前为止,我只知道如何使用它的一部分:

// value = incoming String
String[] contentUrlList = new String[] { value };
for (int i = 0; i < contentUrlList.length; i++) {
    String contentUri = contentUrlList[i];
}

如果输入保持如此简单(特别是
字符串本身中没有
),您只需删除第一个和最后一个字符,然后按
拆分即可:

String input = "[\"abc\", \"xyz\", \"123\"]"

// Remove the [ and ]
input = input.substring(1, input.length() - 1);
String[] words = input.split(", ");
// Remove the quotation marks
for (int i = 0; i < words.length; i++) {
    words[i] = words[i].substring(1, words[i].length() - 1);
}
输出:

abc
xyz
123

如果它变得更复杂,我建议使用一些JSON库。例如:

Gson gson = new Gson();
String[] words = gson.fromJson(input, String[].class);

其他库也是如此。

请澄清您的问题,
值究竟是什么数据类型?@EL323请显示dat字符串。@Michael在OP确认之前,我不会假设该字符串表示JSON数组。您可能不应该将其编辑到title@EL323这不是一个愚蠢的问题。这只是一个令人困惑的问题
abc
xyz
123
Gson gson = new Gson();
String[] words = gson.fromJson(input, String[].class);