안녕하세요, 질문드립니다.
OpenAPI에서 다음과 같은 JSON형태가 담긴 url주소를 받아와 파싱하려고 합니다.
[
{
id: "id_one"
name: "name_one"
},
{
id: "id_one"
name: "name_one"
}
]
위와같이 하나의 큰 배열 안에, 여러개의 object로 구성된 JSON 형태입니다.
URL url = new URL("openAPI URL");
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
현재는 위와 같은 방식으로 json데이터를 한줄씩 받아와 파싱하고 있습니다.
현재 구현하고 싶은 것은,
JSONArray형태로 json을 받아와
JSONObject jsonObj = (JSONObject)jsonArray.get(i);
위와 같은 형식으로 i번째 Object를 받아오는 것입니다.
String 형태여야지 JSONArray형태로 만들 수 있는 것 같아, 아래와같이 object를 String 형태로 바꾼 뒤 JSONArray형태로 변경하려 해도 오류가 생깁니다.
String url = "https://static.api.nexon.co.kr/fifaonline4/latest/spid.json";
URL postUrl = new URL(url);
HttpsURLConnection con = (HttpsURLConnection)postUrl.openConnection();
Object obj = JSONValue.parse(new InputStreamReader(con.getInputStream()));
String str = obj.toString();
JSONArray jsonArray = new JSONArray(str);
//String을 JSONArray형태로 만들려고 했지만 오류(Unhandled exception: org.json.JSONException)
JSONObject jsonObject = jsonArray.getJSONObject(i);
아직 초보여서 질문을 자세하게 못한점 양해부탁드립니다.