본문 바로가기

[Kotlin] Json to CSV

I'm 영서 2024. 5. 2.
반응형

 

API에서 받아온 JSON을 CSV로 Export하기 위해 매서드를 작성했다.

 

  fun jsonToCsv(jsonData: String, outputFilePath: String) {
        val jsonArray = JSONArray(jsonData)

        // CSV 파일 생성
        File( outputFilePath).bufferedWriter().use { writer ->
            // CSV 헤더 작성
            if (jsonArray.length() > 0) {
                val headers = jsonArray.getJSONObject(0).keys()
                writer.write(headers.asSequence().joinToString(",") { it })
                writer.newLine()
            }

            // 각 JSON 객체를 CSV로 변환
            for (i in 0 until jsonArray.length()) {
                val jsonObject = jsonArray.getJSONObject(i)
                val values = jsonObject.keys().asSequence().map { key ->
                    // CSV 호환을 위해 필드 값을 따옴표로 둘러싸기
                    "\"${jsonObject.getString(key).replace("\"", "\"\"")}\""
                }.joinToString(",")
                writer.write(values)
                writer.newLine()
            }
        }
    }
반응형

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

[Kotlin] webView에서 Activity로 명령 주고받기  (0) 2024.04.26

댓글