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 |
Tags
- array
- sql
- eGovFramework
- web.xml
- mybatis
- Ajax
- eGov
- Database
- CSS
- Oracle
- json
- 배열
- javascript
- 과정평가형
- 태그
- 개념
- 함수
- jQuery
- POI
- select
- JVM
- TO_DATE
- input
- 암호화
- spring
- html
- 오류
- Java
- controller
- was
Archives
- Today
- Total
web developer
[java] JSON 데이터 파싱 본문
728x90
728x90
JSON 데이터 파싱
userInfoData JSON에서 information 배열 안의 Subject 객체에서 privacy 배열의 value 값을 가져오는 방법을 org.json.simple 라이브러리를 사용하여 구현할 수 있습니다
json
userInfoData :{
"url":["https://localhost:8080/test"],
"id":"testId",
"physical":{"height":"180", "weight":"80"},
"gender":["man", "woman"],
"information":[
{
"url":["https://localhost:8080/test"],
"language":"KR",
"Subject":{
"id":"testId",
"privacy":[{
"type":"name",
"value":"테스트이름"
}]
},
"generation":{
"created":"2024-09-02T13:53:26",
"creator":"secretId"
},
"type":["1", "2"],
}
]
}
java
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
@RequestMapping(value = "/testJsonDataParsing.do", method = RequestMethod.GET)
public void testJsonDataParsing(
HttpServletRequest request,
HttpServletResponse response,
HttpSession session
){
String userInfoData = "{"
+ "\"url\":[\"https://localhost:8080/test\"],"
+ "\"id\":\"testId\","
+ "\"physical\":{\"height\":\"180\", \"weight\":\"80\"},"
+ "\"gender\":[\"man\", \"woman\"],"
+ "\"information\":[{"
+ "\"url\":[\"https://localhost:8080/test\"],"
+ "\"language\":\"KR\","
+ "\"Subject\":{"
+ "\"id\":\"testId\","
+ "\"privacy\":[{"
+ "\"type\":\"name\","
+ "\"value\":\"테스트이름\""
+ "}]"
+ "},"
+ "\"generation\":{"
+ "\"created\":\"2024-09-02T13:53:26\","
+ "\"creator\":\"secretId\""
+ "},"
+ "\"type\":[\"1\", \"2\"]"
+ "}]"
+ "}";
// JSON 파서 객체 생성
JSONParser parser = new JSONParser();
try {
// userInfoData를 JSON 객체로 변환
JSONObject jsonObj = (JSONObject) parser.parse(userInfoData);
// information 배열 가져오기
JSONArray informationArray = (JSONArray) jsonObj.get("information");
// 첫 번째 객체에서 Subject 가져오기
JSONObject subject = (JSONObject) ((JSONObject) informationArray.get(0)).get("Subject");
// privacy 배열에서 첫 번째 객체의 value 값 가져오기
JSONArray privacyArray = (JSONArray) subject.get("privacy");
String privacyValue = (String) ((JSONObject) privacyArray.get(0)).get("value");
System.out.println("privacy value: " + privacyValue); // 테스트이름
} catch (ParseException e) {
e.printStackTrace();
}
}
[배열, json 객체, json 비교]
https://take-it-into-account.tistory.com/256
[JSON 데이터 만들기]
https://take-it-into-account.tistory.com/222
728x90
728x90
'Language > Java' 카테고리의 다른 글
[java] AJAX 통신에서 Impl의 트랜잭션 예외 발생 시 예외 처리와 롤백 처리 (0) | 2024.09.24 |
---|---|
[java] try-catch를 이용한 직접 예외 처리와 @ControllerAdvice를 통한 공통 예외 처리 (1) | 2024.09.19 |
[java] custom 페이징 처리와 페이지 네비게이션 구현 (0) | 2024.08.09 |
[java] SHA-256 암호화 [단방향] (0) | 2024.07.23 |
[java] AES-256 암호화, 복호화 [양방향] (0) | 2024.07.22 |