자바를 사용하여 JSON 파일을 생성합니다

수요 ** ** : 코드 생성 JSON 자바 파일 형식을 사용하여 사용자 지정 내용
** ** 달성 :
코드는 다음과 같습니다 :
패키지 com.zt.posts.common.util,


가져 오기 lombok.extern.slf4j.Slf4j;
가져 오기 org.springframework.util.ResourceUtils;

오기 java.io.File에,
수입 java.io.FileOutputStream의,
오기 java.io.OutputStreamWriter;
오기 java.io.Writer에,
java.util의 * ;. 수입 클래스

/ **
* 파일 생성 JSON 에 의해 XWD 도구
* /

@ SLF4J
공용 클래스 JSONUtils {

// 패키지 파일 JSON 방법 만듭니다
공공 정적 부울 createJSONFile (개체 OBJ, 문자열 fileName에) {
부울 = 플래그를 TRUE로를,

은 try {
획득 한 파일 경로의 루트 //에서 절대 경로
문자열 파일 경로를 = ResourceUtils.getURL ( "클래스 경로") getPath ().
문자열 fileName에 = // "앱";
문자열 JSONString = com.alibaba.druid.support.json.JSONUtils.toJSONString (OBJ);

// // 스 플라이 싱 JSON 파일의 전체 경로 형식으로 생성
문자열 fullpath에 =적인 filePath + Win32 시스템 +를 + fileName에 ".json";

// 확인하기 위해 새 파일을 생성
파일 파일 = 새로운 새 파일 (fullpath에를);
(!. file.getParentFile ()가 존재 ()) {// IF 상위 디렉토리가 존재하지 않는 경우, 부모 디렉토리 생성
파일을. . getParentFile () mkdirs ();
}
IF (File.Exists ()) {// 이미있는 경우, 이전 파일 삭제
File.delete를을 ();
}
file.createNewFile (); // 새 파일 생성

(jsonString.indexOf을 경우를 ( " '") =! - 1) {
//을 탈출 따옴표, JSON 문자열 문자열 유형이 될 수 있기 때문에 작은 따옴표
jsonString = jsonString.replaceAll ( "'", "\\ '") ;
}
IF (jsonString.indexOf ( "\" ")!= -1) {
// 이중 탈출에 대해, JSON 문자열 문자열 유형은 작은 따옴표 수 있기 때문에
} 캐치 (예외 E) { 플래그 = FALSE; e.printStackTrace (); }





















대가로 신고;
}

공공 정적 무효 메인 (문자열 []에 args) {

지도 <문자열, 개체>지도 = 새로운 새로운 HashMap의 <> ();

목록 <개체> 목록 = 새로운 새로운 ArrayList를 <> ();

문자열 [] STRs = {
" 지난 3 년간은 매년 공무원 시험 결과는 "기본 능력으로 지정되어
, 111 공무원 연간 시험 결과가"기본 능력으로 있던 지난 3 년 동안 "
" "이 지난 3 년간 매년 공무원 시험 결과는 기본적인 능력으로 지정되어 있습니다
};

대한 (INT I = 0; 나는 <strs.length 내가 ++) {
지도 <문자열, 개체> = 새 새 Infomap HashMap의 <> ();

infoMap.put ( "ID", "00"+ (1 + I).);
infoMap.put ( "컨텍스트", STRs [I])
에는 list.add (Infomap);
}

map.put ( "데이터", 목록);

// 절대 경로의 루트에 파일 경로를 얻을
// 문자열적인 filePath = ResourceUtils.getURL ( "클래스 경로") getPath ( );
문자열 파일 이름은 "응용 프로그램을"=;
Com.alibaba.druid.support.json.JSONUtils.toJSONString JSONString = 문자열 (지도);

// // 접합 생성 JSON 파일의 전체 경로 형식
// 문자열 fullpath에 =적인 filePath + Win32 시스템 + fileName에 + ".json";

성공 = JSONUtils.createJSONFile 부울 (지도, fileName에);
IF (성공) {
log.info ( "OK");
}는 다른 {
log.info ( "오류");
}
}
}


** ** 요약한다 :
사용자 정의 데이터 소스뿐만 아니라 키 이름. 수집 및 파일 이름을 생성 할 수 있습니다를 전달 정적 메소드를 호출 CreateJSONFile!

추천

출처www.cnblogs.com/xwd2366846227/p/12124491.html