[Java] / [자바]
String을 Json객체로 형변환하기
* 목표 : org.json.simple.JSONObject를 이용해 String 타입에서 Json객체로 변환해보자
서버랑 통신 할 때 에러로그를 String 값을 보내주는데 App쪽에서 Json객체로 만들어 이용하려고 한다.
다양한 방법이 있지만 그중에 간단하게 사용할 수 있는 방법을 소개한다.
import org.json.simple.JSONObject;
import org.json.simple.parser.JSONParser;
private string2json(){
String strTest = "{\n" +
"\n" +
" \"relationInfos\": null,\n" +
"\n" +
" \"exceptionAprvs\": null,\n" +
"\n" +
" \"groupApplication\": [\n" +
"\n" +
" {\n" +
"\n" +
" \"addr\": \"\",\n" +
"\n" +
" \"applicationDate\": \"2021-01-11\",\n" +
"\n" +
" \"createDatetime\": \"Jan 11, 2021 6:40:59 PM\",\n" +
"\n" +
" \"createUserId\": \"ming92\",\n" +
"\n" +
" \"customerNo\": \"20210000234\",\n" +
"\n" +
" \"fatherName\": \"\",\n" +
"\n" +
" \"groupAplcNo\": \"30ming9220210111001\",\n" +
"\n" +
" \"inCharge\": \"\",\n" +
"\n" +
" \"leaderName\": \"test5\",\n" +
"\n" +
" \"mngtBranchCode\": \"1000\",\n" +
"\n" +
" \"mngtUserId\": \"ming92\",\n" +
"\n" +
" \"openBranchCode\": \"1000\",\n" +
"\n" +
" \"openUserId\": \"ming92\",\n" +
"\n" +
" \"productType\": \"30\",\n" +
"\n" +
" \"residentRgstId\": \"14/LaPaTa(N)111111\",\n" +
"\n" +
" \"serialNo\": 3.0,\n" +
"\n" +
" \"statusCode\": \"01\",\n" +
"\n" +
" \"tabletSyncSts\": \"00\",\n" +
"\n" +
" \"townshipName\": \"\",\n" +
"\n" +
" \"updateDatetime\": \"Jan 11, 2021 6:40:59 PM\",\n" +
"\n" +
" \"updateUserId\": \"ming92\"\n" +
"\n" +
" }\n" +
"\n" +
" ],\n" +
"\n" +
" \"areaEvaluations\": null,\n" +
"\n" +
" \"guarantees\": null,\n" +
"\n" +
" \"individualApplications\": [\n" +
"\n" +
" {\n" +
"\n" +
" \"addr\": \"\",\n" +
"\n" +
" \"applicationAmt\": 500.0,\n" +
"\n" +
" \"applicationDate\": \"2021-01-11\",\n" +
"\n" +
" \"applicationNo\": \"10ming9220210111002\",\n" +
"\n" +
"\n" +
" \"errMsg\": \"10ming9220210111002 : 오류: 중복된 키 값이 \\\"m3t_application_application_no_idx\\\" 고유 제약 조건을 위반함\\n Detail: (application_no)=(10ming9220210111002) 키가 이미 있습니다.\"\n" +
"\n" +
" }\n" +
"\n" +
" ]\n" +
"\n" +
"}";
JSONParser parser = new JSONParser();
Object obj = null;
try {
obj = parser.parse( strTest );
Log.e(TAG, "obj : " + obj);
} catch (ParseException e) {
e.printStackTrace();
}
org.json.simple.JSONObject jsonObject = (org.json.simple.JSONObject) obj;
Log.e(TAG, "jsonObject : " + jsonObject);
}
JSONParser parser = new JSONParser();
Object obj = parser.parse( jsonStr );
JSONObject jsonObj = (JSONObject) obj;
String code = (String) jsonObj.get("code");
String name = (String) jsonObj.get("name");
'Back-end' 카테고리의 다른 글
[Node.js] Node.js 설치 및 REPL 터미널 실행 (0) | 2022.05.14 |
---|---|
[JSP / Spring] global.properties 변수값 가져오기 (0) | 2022.01.26 |
[JSP] <jsp:include> 와 <jsp:param> 그리고 XSS 보안이슈 (2) | 2021.07.20 |
[Java] 예외 발생 시키기 (0) | 2021.01.19 |
[Java] 숫자 천 단위에 컴마(,) 표시하기 (1) | 2020.12.24 |