728x90
2022.01.19 - [프로그래밍/Java Json Parser 활용] - Jackson Java Json Parser 활용
앞에 내용에 이어서 FastJson을 사용해보자
Visual Studio Code에 Library를 추가
maven에서 다운로드 받자. 오늘 기준으로 버전은 1.279이다.
https://mvnrepository.com/artifact/com.alibaba/fastjson/
fastjson-{lastest.version}.jar를 다운로드 받자
Json 문자열을 Java class에 바인딩
text에 json문자열을, clazz에 바인딩 하고자하는 class의 명칭을 넣으면 된다.
JSON.parseObject(String text, Class<T> clazz)
Java class를 Json 문자열로 변환
object에 변환하고자 하는 Java class의 변수를 넣으면 된다.
JSON.toJSONString(object)
전체코드
import com.alibaba.fastjson.JSON;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
class UserInfo {
public String name;
public String gender;
public String residence;
public String[] school;
public UserInfo[] family;
}
public class Info {
private final static Logger logger = LoggerFactory.getLogger(App.class);
private String jsonText;
@Before // 테스트 수행 전 먼저 수행, jsonText 변수롤 초기화 시킨다
public void init() {
this.jsonText = new StringBuffer().append("{")
.append(" \"name\": \"홍길동\",")
.append(" \"gender\": \"남\",")
.append(" \"residence\": \"서울\",")
.append(" \"school\": [\"대학원 졸업\", \"대학 졸업\", \"고졸\", \"중졸\"],")
.append(" \"family\":[")
.append(" {")
.append(" \"name\":\"홍아빠\",")
.append(" \"relation\":\"부\",")
.append(" \"residence\":\"부산\",")
.append(" \"school\": [\"대학원A 졸업\", \"대학B 졸업\"]")
.append(" },")
.append(" {")
.append(" \"name\":\"김엄마\",")
.append(" \"relation\":\"모\",")
.append(" \"residence\":\"서울\",")
.append(" \"school\": [\"대학원1 졸업\", \"대학2 졸업\"]")
.append(" }")
.append(" ]")
.append("}").toString();
}
@Test
public void AA(){
UserInfo userInfo = JSON.parseObject(this.jsonText,UserInfo.class); //Json문자열을 class에 바인딩
logger.info("OUT={}",userInfo);
logger.info("str={}", JSON.toJSONString(userInfo));
}
}
실행결과
당근 잘 들어왔네..
728x90
'프로그래밍 > Java Json Parser 활용' 카테고리의 다른 글
Jackson Java Json Parser 활용 (0) | 2022.01.19 |
---|