serlvetコントローラのjson文字列を["A"、 "B"、 "C"、 "D"、 "E"]としています。jsonの文字列をJavaの文字列に変換する
この文字列をJava文字列配列に変換します。 Json文字列には[]も含まれます。その上
arr[0] = A
arr[1] = B
と:
出力はJavaのString配列でなければなりません。解析ソリューションをお勧めしますか?
serlvetコントローラのjson文字列を["A"、 "B"、 "C"、 "D"、 "E"]としています。jsonの文字列をJavaの文字列に変換する
この文字列をJava文字列配列に変換します。 Json文字列には[]も含まれます。その上
arr[0] = A
arr[1] = B
と:
出力はJavaのString配列でなければなりません。解析ソリューションをお勧めしますか?
あなたがそうのようにそれを変換することができ、ストリームを使用して:
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ライブラリを使用することができます。ジャクソンを使用した例:あなたの
String s = "[\"A\",\"B\",\"C\",\"D\",\"E\"]";
ObjectMapper mapper = new ObjectMapper();
String[] arr = mapper.readValue(s, String[].class);
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;
}
解析JSONは、セキュリティの面で(特にWeb環境で)危険です。 [GSON](https://github.com/google/gson)、[Jackson](https://github.com/FasterXML/jackson)などのよく知られているJSONライブラリの1つを使用してください。 – jannis
右@ jannis、jacksonとの例を追加 – baao