速水 康晴
  速水 康晴(はやみ やすはる)
  新潟県新潟市在住

  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

Jggug20120901pojojson

  • 1.
  • 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