본문 바로가기

개발중/Java

JSON / Jackson대용량 파일 읽기

728x90
반응형

JsonParser - JSON 대용량 파일 읽기

<dependency>
    <groupId>javax.json</groupId>
    <artifactId>javax.json-api</artifactId>
    <version>1.1</version>
</dependency>

<dependency>
    <groupId>org.glassfish</groupId>
    <artifactId>javax.json</artifactId>
    <version>1.1</version>
</dependency>

 

package com.rsn.def.job;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.json.Json;
import javax.json.stream.JsonParser;
import javax.json.stream.JsonParser.Event;
import com.rsn.def.dao.CheckJSONDao;
import com.rsn.def.vo.jsonVO;

class AjaxTest{  
     
    static final String exFilePath    =  "C:\\coding\\eclipse-workspace\\soo_JsonAnalysisResult\\src\\main\\resources\\json\\EXJson.json";
    
    public static void main(String[] args) throws IOException {
          
    	JSON_morpheme json = new JSON_morpheme();
    	json.test();
    	
	}
    
    public void test() throws FileNotFoundException {

    	List<jsonVO> list = new ArrayList<jsonVO>();

		final JsonParser parser = Json.createParser((new FileReader(exFilePath)));

		String key = null;
        String val = null;
		   
		while (parser.hasNext()) {

			final Event event = parser.next();
			
			switch (event) { 
				case KEY_NAME:
					key = parser.getString(); 
					break;
					
				case VALUE_STRING:
					key = parser.getString(); 
					break;
			   
				case END_ARRAY :
					break;
					
				case VALUE_NUMBER :
					break;
					
				case START_ARRAY :
					break;
			} 
	    } 
		parser.close();
	}
}

참고 사이트 1


 

728x90
반응형

'개발중 > Java' 카테고리의 다른 글

JAVA이클립스 라이브러리 추가하는 방법  (0) 2021.04.08
EC2 web 배포  (0) 2021.03.15
java Excel 파일 읽어오기  (0) 2021.03.08
람다식 parallelStream, forEach  (0) 2021.02.25
람다식 filter  (0) 2021.02.25