JSON 파싱 질문드립니다
조회수 503회
아래는 Bithumb candle chart 1분봉 리스트를 가져오는 URL 입니다
https://api.bithumb.com/public/candlestick/ETH/1m
{"status":"0000","data":[[1582464360000,"321000","320900","321000","320900","11.7071"],[],[]]}
data를 가져오고 싶은데 어떻게 파싱해야 하나요?
List(string[]) data = ?
org.json.JSONObject
라이브러리 사용중입니다
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
@Test public void parseFromString() { final String jsonString = "{\"status\":\"0000\",\"data\":[[1582464360000,\"321000\",\"320900\",\"321000\",\"320900\",\"11.7071\"],[],[]]}"; JSONObject object = new JSONObject(jsonString); JSONArray data = (JSONArray) object.get("data"); Assert.assertEquals(JSONArray.class, data.get(0).getClass()); JSONArray firstElement = (JSONArray) data.get(0); Assert.assertEquals(Long.class, firstElement.get(0).getClass()); Assert.assertEquals(String.class, firstElement.get(1).getClass()); JSONArray secondEmptyElement = (JSONArray) data.get(1); Assert.assertEquals(0, secondEmptyElement.length()); }
위처럼 하면 됩니다.
사실 이것보단 fasterxml-jackson이나 google-Gson을 쓰는게 더 편합니다.
-
아래와 같은 형태로 접근하면 됩니다.
jsonStr = "{\"status\":\"0000\",\"data\":[[1582464360000,\"321000\",\"320900\",\"321000\",\"320900\",\"11.7071\"],[],[]]}" JSONObject jsonObj = new JSONObject(jsonStr); JSONArray jsonArray = jsonObj .getJSONArray("data");
댓글 입력