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;
}
'프로그래밍 > Java' 카테고리의 다른 글
[Java] StringTokenizer를 이용해 문자열분리 (0) | 2023.05.05 |
---|---|
[Java] Scanner / next() 와 nextLine() 차이 (1) | 2023.05.05 |
[Java] HashMap for문 돌리기 (0) | 2022.11.23 |
[Java] String Array 형태의 변수를 Json 형태로 변환 (0) | 2022.04.19 |
[Eclipse] heap status 비우기 (0) | 2022.03.25 |
댓글