http://entireboy.egloos.com/4748169
- 함께 역인 글 : [Groovy] json 파싱하기
말이 필요 없음
예제가 다 말해줌 ㅋ
def json = new groovy.json.JsonBuilder()
json.html {
header {
title 'Login'
}
body {
h1 'Hello world'
div {
p ({
label ('ID')
input 'id'
},
{
label 'Password'
input 'pw'
})
button 'Login', 'Exit'
}
}
}
def prettyJson = groovy.json.JsonOutput.prettyPrint(json.toString())
assert prettyJson == '''{
"html": {
"header": {
"title": "Login"
},
"body": {
"h1": "Hello world",
"div": {
"p": [
{
"label": "ID",
"input": "id"
},
{
"label": "Password",
"input": "pw"
}
],
"button": [
"Login",
"Exit"
]
}
}
}
}'''
json.html {
header {
title 'Login'
}
body {
h1 'Hello world'
div {
p ({
label ('ID')
input 'id'
},
{
label 'Password'
input 'pw'
})
button 'Login', 'Exit'
}
}
}
def prettyJson = groovy.json.JsonOutput.prettyPrint(json.toString())
assert prettyJson == '''{
"html": {
"header": {
"title": "Login"
},
"body": {
"h1": "Hello world",
"div": {
"p": [
{
"label": "ID",
"input": "id"
},
{
"label": "Password",
"input": "pw"
}
],
"button": [
"Login",
"Exit"
]
}
}
}
}'''
JsonBuilder라는 녀석이 json을 만들기 쉽게 구성해 준다.
한 줄에 key와 value를 구분해 적어주고, 여러 자식이 있는 경우 closure로 만들어 주면 된다. (header와 body를 가진 html 처럼 closure로 묶는다) "button"처럼 배열을 넣고 싶으면 콤마(,)로 구분해 준다. "Label ('ID')"처럼 괄호로 묶을 수 있다. "p"처럼 여러줄로 나뉜 경우도 괄호로 묶으면 하나의 value로 인식하게 할 수 있다.
그리고 JsonOutput을 사용하면 생성된 json을 이쁘게 출력할 수 있다.
- 참고
Groovy Goodness: Build JSON with JsonBuilder and Pretty Print JSON Text
반응형
'차근차근 > 이것저것' 카테고리의 다른 글
이클립스(Eclipse) 'could not write file: ~.classpath' 에러(Error) 해결방법 (0) | 2014.09.05 |
---|---|
베가 N.6 업데이트 후 개발자 옵션 (0) | 2014.09.04 |
인코딩된 파일자체의 문자셋 확인방법? (0) | 2014.09.02 |
커니의 안드로이드 블로그 (0) | 2014.08.29 |
JSON 정의 : JSON이란 무엇인가 (0) | 2014.08.28 |