Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- 자바스크립트
- HTML
- 아파치톰캣
- java
- JavaScript
- vb.net
- Linux
- CSS
- spring
- SQL_용어정리
- Git_정리
- jsp
- json
- Spring_에러정리
- MySQL
- 자바
- 인덱스
- SQL
- asp.net
- 배열
- 다이어그램
- github
- Linux_명령어정리
- workbench
- git
- 인스턴스
- 이클립스
- Spring_오류정리
- DML
- Git_명령어정리
Archives
- Today
- Total
데브마우스
[JSON] org.json 라이브러리를 사용하여 Java에서 JSON 사용하는 방법 본문
org.json 라이브러리는 무엇인가요?
자바의 JSON 패키지의 레퍼런스 구현체입니다. (출처: https://github.com/stleary/JSON-java)
org.json 라이브러리는 메이븐 레포지터리(Maven Repository)에서 다운로드할 수 있습니다.
메이븐 레포지터리 링크: https://mvnrepository.com/artifact/org.json/json
org.json 라이브러리를 사용할 때 저는 주로 3가지 클래스를 import 합니다.
import org.json.JSONArray; // JSON 배열을 읽기 위해 사용
import org.json.JSONObject; // JSON 객체를 읽기 위해 사용
import org.json.JSONTokener; // JSON 파일을 읽기 위해 사용
org.json 라이브러리 사용 방법
org.json 라이브러리 사용 순서 | ||
순서 | 코드 | 설명 |
1 | import org.json.JSONArray; import org.json.JSONObject; import org.json.JSONTokener; |
org.json 라이브러리 사용을 위한 클래스를 import 합니다. |
2 | String src = "FILENAME.json"; |
사용할 json 파일의 이름을 작성합니다.
|
3 | InputStream is= JAVA_FILE_NAME.class.getResourceAsStream(src); |
Java에서 경로에 있는 리소스 파일을 읽기 위한 코드입니다.
|
4 | if(is==null) { throw new NullPointerException("Cannot find resource file!!!!!!!!!"); } |
파일이 없을 경우 예외를 발생시킵니다.
|
5 | JSONTokener tokener = new JSONTokener(is); |
- InputStream으로 읽은 파일을 Token 단위로 쪼개는 역할을 합니다.
- println 출력: tokener : at 0 [character 1 line 1] |
6.1 | JSONObject obj = new JSONObject(tokener); |
JSON이 {객체}로 시작할 경우 JSONObject로 초기화합니다.
|
6.2 | JSONArray arr = new JSONArray(tokener); |
JSON이 [배열]로 시작할 경우, JSONArray로 초기화합니다.
|
7 | // 지그재그 |
- 객체 안에는 배열이 있다면 형 변환을 해줘야, 배열에 접근할 수 있습니다.
- 배열 안에는 객체가 있다면 형 변환을 해줘야, 객체에 접근할 수 있습니다. - key가 있다면 getString, getInt 등으로 value값을 얻을 수 있습니다. |
7.1 | JSONArray arr1 = obj.getJSONArray("person"); |
- 객체에서 배열로 형 변환하고 배열에 접근합니다.
- arr1을 출력시키면 [배열]안의 모든 객체가 출력됩니다. |
7.2 | JSONObject obj2 = (JSONObject) arr1.get(0); |
- [배열]에서 {객체}로 형 변환하고 0번째 [배열]의 {객체}에 접근합니다.
- obj2를 출력시키면 0번째 [배열]에 들어있는 {객체}의 멤버가 출력됩니다. |
8
|
String address = obj2.getString("address"); |
- [객체]의 address를 key 값으로 value 값을 획득합니다.
|
int age = temp_obj.getInt("age"); |
- [객체]의 age를 key 값으로 value 값을 획득합니다.
|
|
Double age = temp_obj.getDouble("weight"); |
- [객체]의 weight를 key 값으로 value 값을 획득합니다.
|
'JSON' 카테고리의 다른 글
[REST] REST API 개요 정리 (0) | 2024.02.10 |
---|---|
[JSON] Gson 라이브러리를 사용하며 Java에서 JSON 사용하는 방법 (0) | 2024.01.30 |
[JSON] JSON 개요 정리 (0) | 2024.01.30 |