JSON 파싱에 대한 포스팅
우선 GSON이라는 dependency를 maven에 추가한다.
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
{"result":
{"account_data":
{"Account":"rNTkgxs5WG5mU5Sz26YoDVrHim5Y5ohC7",
"Balance":"20999000",
"Flags":1048576,
"LedgerEntryType":"AccountRoot",
"OwnerCount":0,
"PreviousTxnID":"43AB8056587462983030ED668EB5AA4245D90F7FC92514C0D87129FEBEF4FA80",
"PreviousTxnLgrSeq":47883205,
"RegularKey":"rfn2qMt4mBvvtJmWAJLmBrZN5z1fhCEkBg",
"Sequence":69736,
"index":"D11F09F2ED30B139D751C32D77EB3135905AEB4F9EC68EC55162F84D479E51B3"},
"ledger_hash":"FA31555279BBC949B4D92EFB80CD243C3CAD4E5F0B862742CEC631BBF49AA4EB",
"ledger_index":47883215,
"status":"success",
"validated":true}}
위와 같은 데이터가 있다.
나는 Balance 정보 20999000를 불러오려고 할 때, Json parsing을 이용한다.
위의 데이터가 response1에 저장되어 있다고 가정한다.
JsonParser jsonParser= new JsonParser(); //JsonParser를 불러온다.
JsonObject jsonObj= (JsonObject) jsonParser.parse(response1); //reponse1을 오브젝트 형식으로 파싱함
JsonElement jsonElem = jsonObj.get("result");
//우리가 원하는 데이터는 result: 뒤에 있는 부분이므로 JsonElement로 result 부분을 가져와준다.
System.out.println("Balance: "+jsonElem.getAsJsonObject().get("account_data").getAsJsonObject().get("Balance"));
System.out.println("원장번호: "+jsonElem.getAsJsonObject().get("ledger_index"));
//getAsJsonObject().get("인덱스명")을 통해서 값을 가져올 수 있다.
예제로 쓸 데이터가 없다면 이런 형식으로 저장
String jsonStr = "{\"members\":["
+ "{\"name\":\"홍길동\","
+ "\"email\":\"gildong@hong.com\","
+ "\"age\":\"25\""
+ "},"
+ "{\"name\":\"홍길서\","
+ "\"email\":\"gilseo@hong.com\","
+ "\"age\":\"23\""
+ "}]}";
'스프링 프레임워크 > 스프링 기초' 카테고리의 다른 글
09. 스프링에서 myBatis사용하여 mySQL db연동 (0) | 2019.06.24 |
---|---|
08. JsonArray, JsonObject 만들고 불러오기 (AJAX column 사용) (0) | 2019.06.19 |
06. Mybatis란? (0) | 2019.04.22 |
05. 자주 쓰이는 스프링 라이브러리 및 유틸 (0) | 2019.04.22 |
04. DispatcherServlet 과 Spring MVC pattern (0) | 2019.04.19 |