프로그래밍/Java
[Java] String to JsonArray 변환
Youngs_
2023. 4. 13. 14:07
String에 json형태의 문자열을 만들어준다.
String s = "[{\"addr\":\"전남\"},{\"addr\":\"전북\"},{\"addr\":\"대구\"},"+
"{\"addr\":\"대전\"},{\"addr\":\"경기\"},{\"addr\":\"충북\"},"+
"{\"addr\":\"인천\"},{\"addr\":\"부산\"},{\"addr\":\"울릉\"},"+
"{\"addr\":\"청주\"},{\"addr\":\"충남\"},{\"addr\":\"제주\"},{\"addr\":\"서울\"}]";
이렇게 들어온 String를 JsonArray형태로 바꿔주는 것 또한 간단하다.
-> 즉! JSONArray("JSONArray로 변환할 String"); 이부분만 있으면 JSONArray로 변환된다는말
try {
JSONArray arr = new JSONArray(s);
} catch (JSONException e) {
e.printStackTrace();
}
그리고 만들어진 JsonArray형태를 String[] 에 담기위해서 하나의 함수를 작성한다.
public static String[] getStringArray(JSONArray jsonArray) throws JSONException {
String[] stringArray = null;
int length = jsonArray.length();
if(jsonArray!=null){
stringArray = new String[length];
for(int i=0;i<length;i++){
stringArray[i]= jsonArray.getJSONObject(i).getString("addr");
//"addr"에서는 가져오고 싶은 데이터의 key값을 입력해주면 된다.
}
}
return stringArray;
}
전체 형태로 보면 소스는 이렇다.
String s = "[{\"addr\":\"전남\"},{\"addr\":\"전북\"},{\"addr\":\"대구\"},"+
"{\"addr\":\"대전\"},{\"addr\":\"경기\"},{\"addr\":\"충북\"},"+
"{\"addr\":\"인천\"},{\"addr\":\"부산\"},{\"addr\":\"울릉\"},"+
"{\"addr\":\"청주\"},{\"addr\":\"충남\"},{\"addr\":\"제주\"},{\"addr\":\"서울\"}]";
try {
JSONArray arr = new JSONArray(s);
location = getStringArray(arr);
} catch (JSONException e) {
e.printStackTrace();
}
public static String[] getStringArray(JSONArray jsonArray) throws JSONException {
String[] stringArray = null;
int length = jsonArray.length();
if(jsonArray!=null){
stringArray = new String[length];
for(int i=0;i<length;i++){
stringArray[i]= jsonArray.getJSONObject(i).getString("addr");
//"addr"에서는 가져오고 싶은 데이터의 key값을 입력해주면 된다.
}
}
return stringArray;
}