본문 바로가기
프로그래밍/Java Json Parser 활용

FastJson Java Parser 사용해보기

by Flow.X 2022. 1. 20.
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를 다운로드 받자

vscode FastJson설정

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));
    }

}

실행결과

당근 잘 들어왔네..

vscode 실행결과

728x90

'프로그래밍 > Java Json Parser 활용' 카테고리의 다른 글

Jackson Java Json Parser 활용  (0) 2022.01.19