Groovy
[Groovy] JsonSlurper 사용 예제
2025. 4. 14. 00:40반응형
JsonSlurper는 Groovy에서 JSON 데이터를 파싱하는 유용한 클래스입니다.
아래는 JsonSlurper를 사용하는 다양한 예제들입니다.
기본 사용 예제
import groovy.json.JsonSlurper
def jsonText = '{"name": "John", "age": 30, "city": "New York"}'
def jsonSlurper = new JsonSlurper()
def parsedData = jsonSlurper.parseText(jsonText)
println "Name: ${parsedData.name}"
println "Age: ${parsedData.age}"
println "City: ${parsedData.city}"
파일에서 JSON 파싱하기
import groovy.json.JsonSlurper
def file = new File('data.json')
def jsonSlurper = new JsonSlurper()
def parsedData = jsonSlurper.parse(file)
println "파일 내용: $parsedData"
배열이 포함된 JSON 파싱
import groovy.json.JsonSlurper
def jsonText = '''
{
"employees": [
{"firstName": "John", "lastName": "Doe"},
{"firstName": "Anna", "lastName": "Smith"},
{"firstName": "Peter", "lastName": "Jones"}
]
}
'''
def jsonSlurper = new JsonSlurper()
def parsedData = jsonSlurper.parseText(jsonText)
parsedData.employees.each { employee ->
println "Employee: ${employee.firstName} ${employee.lastName}"
}
URL에서 JSON 데이터 파싱
import groovy.json.JsonSlurper
import java.net.URL
def url = new URL('https://api.example.com/data')
def jsonSlurper = new JsonSlurper()
def parsedData = jsonSlurper.parse(url.newReader())
println "API 응답: $parsedData"
깊은 중첩 구조 파싱
import groovy.json.JsonSlurper
def jsonText = '''
{
"company": {
"name": "Tech Corp",
"departments": [
{
"name": "Development",
"employees": 50
},
{
"name": "Marketing",
"employees": 20
}
]
}
}
'''
def jsonSlurper = new JsonSlurper()
def parsedData = jsonSlurper.parseText(jsonText)
println "회사 이름: ${parsedData.company.name}"
parsedData.company.departments.each { dept ->
println "부서: ${dept.name}, 직원 수: ${dept.employees}"
}
JsonSlurper 옵션 사용
import groovy.json.JsonSlurper
import groovy.json.JsonParserType
// INDEX_OVERLAY 모드 사용 (성능 최적화)
def jsonSlurper = new JsonSlurper().setType(JsonParserType.INDEX_OVERLAY)
def jsonText = '{"name": "Alice", "scores": [95, 88, 92]}'
def parsedData = jsonSlurper.parseText(jsonText)
println "Name: ${parsedData.name}"
println "Scores: ${parsedData.scores.join(', ')}"
반응형
'Groovy' 카테고리의 다른 글
[Groovy] Groovy 기본 문법 (Main) (0) | 2023.01.29 |
---|---|
[Groovy] Intellij에서 Groovy 프로젝트 생성하고 테스트 코드 실행하기 (0) | 2023.01.27 |