본문 바로가기
Language/Kotlin

2021 - 05 - 07, Kotlin

by Cs.Woo 2021. 5. 9.

Jackson 라이브러리 예제)

import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue
import java.io.File

val articles = mutableListOf<Article>()
val mapper = jacksonObjectMapper()


fun main() {

println(" ==== 테스트 시작 ==== ")

println(" JSON 파일 객체로 불러오기 시작 ")
val parsingArticles = mapper.readValue<List<Article>>(File("./ArticleData.json"))
println(" JSON 파일 객체로 불러오기 완료 ")

println(" 기존 JSON 내용 확인 시작 ")
println(" 기존 JSON :: $parsingArticles")
println(" 기존 JSON 내용 확인 완료")

println(" Article 추가 시작 ")
addArticle()
println(" Article 추가 완료 ")

println(" JSON 파일 추가 시작")
mapper.writerWithDefaultPrettyPrinter().writeValue(File("./ArticleData.json"),articles)
println(" JSON 파일 추가 완료")

println(" Articles 출력 시작 ")
println(articles)
println(" Articles 출력 완료 ")

println(" 새로운 게시물 추가 시작 ")
articles.add(Article("title10","body10"))
println(" 현재 Articles = $articles")
println(" 새로운 게시물 추가 완료 ")

println(" 새로운 게시물 JSON 파일에 저장 시작")
mapper.writerWithDefaultPrettyPrinter().writeValue(File("./ArticleData.json"),articles)
println(" 새로운 게시물 JSON 파일에 저장 완료")

println(" JSON 객체 출력 시작 ")
println(parsingArticles)
println(" JSON 객체 출력 완료 ")

println(" ==== 테스트 끝 ==== ")
}

fun addArticle(){
for ( i in 1 .. 5){
articles.add(Article("title$i","body$i"))
}
}

 

 

 

'Language > Kotlin' 카테고리의 다른 글

2021 - 05 - 09, Kotlin  (0) 2021.05.10
2021 - 05 - 08, Kotlin  (0) 2021.05.10
2021 - 05 - 06, Kotlin  (0) 2021.05.08
2021 - 05 - 05, Kotlin  (0) 2021.05.08
2021 - 05 - 04, Kotlin  (0) 2021.05.08