SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
速水 康晴
  速水 康晴(はやみ やすはる)
  新潟県新潟市在住

  1stネクスパイア株式会社 新潟オフィス
     ◦  プログラマ:Java/Flex/ActionScript
  JGGUGサポート・スタッフ
  E-mail:toby55kij@gmail.com

  Twitter:toby55kij	




                                       2012/09/01	
   2
    Groovyを使ってPOJOとJSONの相互変換を行う	




                             2012/09/01	
   3
    groovy.json.JsonBuilder
     ◦  JSON作成用Builder
    groovy.json.StreamingJsonBuilder
     ◦  Writerに書きこむJsonBuilder
    groovy.json.JsonSlurper
     ◦  JSON文字列・ファイルの読み込み
    groovy.json.JsonOutput
     ◦  JSONの文字列出力に関するクラス	




                                        2012/09/01	
   4
    JsonOutputを使う
     ◦  use(JsonOutput) { file.text = object.toJson() }
        POJOはMapの様に扱い出力される
        カテゴリを使って簡潔に記述




                                                  2012/09/01	
   5
    JsonSlurper+asType()を使う
     ◦  new JsonSlurper().parseText(file.text) as Profile
        Mapで得られた結果を変換
        POJO側に引数なしのコンストラクタが無いと失敗する
        Listクラスへの変換はasType()に細工→カテゴリを使う




                                                 2012/09/01	
   6
    Javaで書いた例:Gistを参照
     https://gist.github.com/3499330
     ◦  JavaからGroovyスクリプトを呼び出す
     ◦  GroovyスクリプトからJavaクラスを参照
     ◦  JavaでGroovyのカテゴリを記述	




                                       2012/09/01	
   7

Mais conteúdo relacionado

Mais procurados

Playで作るwebsocketサーバ
Playで作るwebsocketサーバPlayで作るwebsocketサーバ
Playで作るwebsocketサーバke-m kamekoopa
 
GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱うGroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱うYasuharu Hayami
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)parrotstudio
 
LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記digirock
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときRyunosuke SATO
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話leverages_event
 
無料でマストドンインスタンスを運用するには
無料でマストドンインスタンスを運用するには無料でマストドンインスタンスを運用するには
無料でマストドンインスタンスを運用するにはyowasou
 
Clojure Language Update (2015)
Clojure Language Update (2015)Clojure Language Update (2015)
Clojure Language Update (2015)sohta
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Kohei Asai
 
120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejsTakayoshi Tanaka
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口Sunao Tomita
 
WebXR TechTokyo #3 in Cluster発表資料
WebXR TechTokyo #3 in Cluster発表資料WebXR TechTokyo #3 in Cluster発表資料
WebXR TechTokyo #3 in Cluster発表資料WheetTweet
 
Promise async await
Promise async awaitPromise async await
Promise async awaitikdysfm
 
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるShunji Konishi
 
SpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorbSpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorbYoutarou TAKAHASHI
 
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようKazuhiro Hara
 
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみるづや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみるzuya
 

Mais procurados (20)

Playで作るwebsocketサーバ
Playで作るwebsocketサーバPlayで作るwebsocketサーバ
Playで作るwebsocketサーバ
 
GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱うGroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱う
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
 
LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記LXD 採用から運用までの顛末記
LXD 採用から運用までの顛末記
 
Node.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないときNode.js を選ぶとき 選ばないとき
Node.js を選ぶとき 選ばないとき
 
Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話Node.js×mongo dbで3年間サービス運用してみた話
Node.js×mongo dbで3年間サービス運用してみた話
 
無料でマストドンインスタンスを運用するには
無料でマストドンインスタンスを運用するには無料でマストドンインスタンスを運用するには
無料でマストドンインスタンスを運用するには
 
How To Drink Wsgi
How To Drink WsgiHow To Drink Wsgi
How To Drink Wsgi
 
Clojure Language Update (2015)
Clojure Language Update (2015)Clojure Language Update (2015)
Clojure Language Update (2015)
 
Clack meetup #1 lt
Clack meetup #1 ltClack meetup #1 lt
Clack meetup #1 lt
 
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
Nodeとフロントエンド − 知っておかなければならない、今と未来の話 −
 
120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs120418 tokyo node5_lin_qonnodejs
120418 tokyo node5_lin_qonnodejs
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
WebXR TechTokyo #3 in Cluster発表資料
WebXR TechTokyo #3 in Cluster発表資料WebXR TechTokyo #3 in Cluster発表資料
WebXR TechTokyo #3 in Cluster発表資料
 
Promise async await
Promise async awaitPromise async await
Promise async await
 
Javascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみるJavascriptのあれやこれやをまとめて説明してみる
Javascriptのあれやこれやをまとめて説明してみる
 
SpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorbSpockからRSpecにきたときの気づき #coedorb
SpockからRSpecにきたときの気づき #coedorb
 
React系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えようReact系(別言語含む)の サーバーサイドレンダリング について考えよう
React系(別言語含む)の サーバーサイドレンダリング について考えよう
 
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみるづや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
づや会 Vol4 Node.jsとphpのパフォーマンスを比較してみる
 

Semelhante a Jggug20120901pojojson

JSR353をGroovyで賢く使う
JSR353をGroovyで賢く使うJSR353をGroovyで賢く使う
JSR353をGroovyで賢く使うYasuharu Hayami
 
Jsonデモの概要
Jsonデモの概要Jsonデモの概要
Jsonデモの概要Hiroki Ito
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_GebNobuhiro Sue
 
いまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめいまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめYujiro Araki
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionKazuchika Sekiya
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会ko ty
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
TechDo Goハンズオン#3
TechDo Goハンズオン#3TechDo Goハンズオン#3
TechDo Goハンズオン#3privatemy
 
GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!Tsuyoshi Yamamoto
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリYukiya Nakagawa
 
Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発Kentaro Iizuka
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Nextdynamis
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackTakahiro Yoshimura
 
Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみようOda Shinsuke
 
OpenGLプログラミング
OpenGLプログラミングOpenGLプログラミング
OpenGLプログラミング幸雄 村上
 

Semelhante a Jggug20120901pojojson (20)

JSR353をGroovyで賢く使う
JSR353をGroovyで賢く使うJSR353をGroovyで賢く使う
JSR353をGroovyで賢く使う
 
GroovyでJSON2014
GroovyでJSON2014GroovyでJSON2014
GroovyでJSON2014
 
Jsonデモの概要
Jsonデモの概要Jsonデモの概要
Jsonデモの概要
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
いまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめいまさら聞けないJSONPのまとめ
いまさら聞けないJSONPのまとめ
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
 
JSDoc ToolKit
JSDoc ToolKitJSDoc ToolKit
JSDoc ToolKit
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
Java EE8 Report
Java EE8 ReportJava EE8 Report
Java EE8 Report
 
TechDo Goハンズオン#3
TechDo Goハンズオン#3TechDo Goハンズオン#3
TechDo Goハンズオン#3
 
GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!GrailsでSpringをGroovyにしよう!
GrailsでSpringをGroovyにしよう!
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-Javaライブラリ
 
Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発Knockout を用いた Firefox OS アプリケーションの開発
Knockout を用いた Firefox OS アプリケーションの開発
 
GroovyでJSON2015
GroovyでJSON2015GroovyでJSON2015
GroovyでJSON2015
 
JavaScript.Next
JavaScript.NextJavaScript.Next
JavaScript.Next
 
GroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hackGroovyなAndroidテスト #atest_hack
GroovyなAndroidテスト #atest_hack
 
Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみよう
 
ScalaMatsuri 2016
ScalaMatsuri 2016ScalaMatsuri 2016
ScalaMatsuri 2016
 
OpenGLプログラミング
OpenGLプログラミングOpenGLプログラミング
OpenGLプログラミング
 

Mais de Yasuharu Hayami

Mais de Yasuharu Hayami (10)

Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
 
今から始めるApache Groovy
今から始めるApache Groovy今から始めるApache Groovy
今から始めるApache Groovy
 
Jggug20141219 collect何とか
Jggug20141219 collect何とかJggug20141219 collect何とか
Jggug20141219 collect何とか
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 
jggug20120120
jggug20120120jggug20120120
jggug20120120
 
JsonOutputについて
JsonOutputについてJsonOutputについて
JsonOutputについて
 
Groovyの紹介20110820
Groovyの紹介20110820Groovyの紹介20110820
Groovyの紹介20110820
 
Jggug20110617
Jggug20110617Jggug20110617
Jggug20110617
 
Jggugcamp2010 LT
Jggugcamp2010 LTJggugcamp2010 LT
Jggugcamp2010 LT
 
Jggug20100724
Jggug20100724Jggug20100724
Jggug20100724
 

Jggug20120901pojojson

  • 2.   速水 康晴(はやみ やすはる)   新潟県新潟市在住   1stネクスパイア株式会社 新潟オフィス ◦  プログラマ:Java/Flex/ActionScript   JGGUGサポート・スタッフ   E-mail:toby55kij@gmail.com   Twitter:toby55kij 2012/09/01 2
  • 3.   Groovyを使ってPOJOとJSONの相互変換を行う 2012/09/01 3
  • 4.   groovy.json.JsonBuilder ◦  JSON作成用Builder   groovy.json.StreamingJsonBuilder ◦  Writerに書きこむJsonBuilder   groovy.json.JsonSlurper ◦  JSON文字列・ファイルの読み込み   groovy.json.JsonOutput ◦  JSONの文字列出力に関するクラス 2012/09/01 4
  • 5.   JsonOutputを使う ◦  use(JsonOutput) { file.text = object.toJson() }   POJOはMapの様に扱い出力される   カテゴリを使って簡潔に記述 2012/09/01 5
  • 6.   JsonSlurper+asType()を使う ◦  new JsonSlurper().parseText(file.text) as Profile   Mapで得られた結果を変換   POJO側に引数なしのコンストラクタが無いと失敗する   Listクラスへの変換はasType()に細工→カテゴリを使う 2012/09/01 6
  • 7.   Javaで書いた例:Gistを参照 https://gist.github.com/3499330 ◦  JavaからGroovyスクリプトを呼び出す ◦  GroovyスクリプトからJavaクラスを参照 ◦  JavaでGroovyのカテゴリを記述 2012/09/01 7