Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.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
将json字符串转换为java字符串数组_Java_Arrays_Json_Parsing - Fatal编程技术网

将json字符串转换为java字符串数组

将json字符串转换为java字符串数组,java,arrays,json,parsing,Java,Arrays,Json,Parsing,在serlvet控制器中,我得到一个json字符串作为[“a”、“B”、“C”、“D”、“E”] 我想把这个字符串转换成Java字符串数组。Json字符串还包括[] 输出应为Java字符串数组: arr[0] = A arr[1] = B 等等。您能建议一个解析解决方案吗?使用流,您可以像这样转换它: String s = "[\"A\",\"B\",\"C\",\"D\",\"E\"]"; String[] arr = Arrays.stream(s.substring(1, s.leng

在serlvet控制器中,我得到一个json字符串作为[“a”、“B”、“C”、“D”、“E”]

我想把这个字符串转换成Java字符串数组。Json字符串还包括[]

输出应为Java字符串数组:

arr[0] = A
arr[1] = B 

等等。您能建议一个解析解决方案吗?

使用流,您可以像这样转换它:

String s = "[\"A\",\"B\",\"C\",\"D\",\"E\"]";
String[] arr = Arrays.stream(s.substring(1, s.length()-1).split(","))
                .map(e -> e.replaceAll("\"", ""))
                .toArray(String[]::new);
您还可以使用JSON库(这可能是首选的方式)。例如,使用Jackson:

String s = "[\"A\",\"B\",\"C\",\"D\",\"E\"]";
ObjectMapper mapper = new ObjectMapper();
String[] arr = mapper.readValue(s, String[].class);
ArrayList jsonStringToArray(字符串jsonString)抛出JSONException{
ArrayList stringArray=新的ArrayList();
JSONArray JSONArray=新的JSONArray(jsonString);
for(int i=0;i
在服务器上解析JSON在安全性方面存在风险(尤其是在web环境中)。只需使用一个著名的JSON库,如等。Right@jannis添加了一个jackson示例
ArrayList<String> jsonStringToArray(String jsonString) throws JSONException {

    ArrayList<String> stringArray = new ArrayList<String>();

    JSONArray jsonArray = new JSONArray(jsonString);

    for (int i = 0; i < jsonArray.length(); i++) {
        stringArray.add(jsonArray.getString(i));
    }

    return stringArray;
}