SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
速水 康晴
  速水 康晴(はやみ やすはる)
  1stネクスパイア株式会社 新潟オフィス
     ◦  プログラマ:Java/Flex/ActionScript
    日本Grails/Groovyユーザーグループ(JGGUG)
     ◦  サポート・スタッフ
  E-mail:toby55kij@gmail.com
  Twitter:toby55kij	




                                       2012/07/13	
   2
  Groovyの紹介
  GroovyでJSONを扱う




                    2012/07/13	
   3
    JavaVM上で動作する動的なプログラミング言語
     ◦  現在のバージョン:2.0.0
     ◦  http://groovy.codehaus.org/
    バージョン2.0の追加機能
     ◦  Project Coinシンタックス対応
     ◦  InvokeDynamicサポート
     ◦  静的型チェック:@TypeChecked
     ◦  静的コンパイル:@CompileStatic




                                      2012/07/13	
   4
    Javaから移行しやすい
     ◦  Javaコード≒Groovyコード
    Javaを強化する機能満載
     ◦  クロージャ,演算子オーバーロード,…
     ◦  JDKを拡張したGroovy JDK(GDK)
     ◦  便利なGroovy API
        JSONは組み込みでサポート




                                  2012/07/13	
   5
2012/07/13	
   6
    JsonBuilder:JSON文字列をDSLで構築
     ◦  Writerに直接書き込む:StreamingJsonBuilder
    例:
     def json = new groovy.json.JsonBuilder()
     json {
       person {
         firstName 'Yasuharu'
         lastName 'Hayami'
       }
       age 40
     }
     println json.toString()


                                                2012/07/13	
   7
    JsonSlurper:JSON文字列を読み込む
     ◦  結果はJavaのListやMapに
    例:
     def slurper = new groovy.json.JsonSlurper()
     def data = slurper.parseText '''{
       "person": {
          "firstName": "Yasuharu",
          "lastName": "Hayami"
       },
       "age": 40
     }'''
     println "${groovy.json.JsonOutput.toJson data}"	


                                               2012/07/13	
   8

Contenu connexe

Tendances

カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明Masakazu Matsushita
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムHitoshi Asai
 
Next generation web talk @cross2013
Next generation web talk @cross2013Next generation web talk @cross2013
Next generation web talk @cross2013Jxck Jxck
 
GSLB機能について(MyDNS.JP)
GSLB機能について(MyDNS.JP)GSLB機能について(MyDNS.JP)
GSLB機能について(MyDNS.JP)Takeshi Kabu
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村Koichi Uchimura
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築kamiyam .
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いているAkihiro Kuwano
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDBmoai kids
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualYasuhiro Matsuo
 
ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用Eiichi Sato
 
JMeter小話
JMeter小話JMeter小話
JMeter小話eiryu
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか Kenta Yamamoto
 
Node.jsでスクレイピングして可視化してみた
Node.jsでスクレイピングして可視化してみたNode.jsでスクレイピングして可視化してみた
Node.jsでスクレイピングして可視化してみたYasunori Kirimoto
 
Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみようOda Shinsuke
 
MongoDBCSharp
MongoDBCSharpMongoDBCSharp
MongoDBCSharpytanno
 
Rubyでつくるスレッド
RubyでつくるスレッドRubyでつくるスレッド
RubyでつくるスレッドShugo Maeda
 
Monocleとかいうのがありまして
MonocleとかいうのがありましてMonocleとかいうのがありまして
MonocleとかいうのがありましてNaoki Aoyama
 
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法Kiyoshi Sawada
 

Tendances (20)

Ruby on Windows
Ruby on WindowsRuby on Windows
Ruby on Windows
 
カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明カジュアルにMongo dbのbackup機能説明
カジュアルにMongo dbのbackup機能説明
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
 
Next generation web talk @cross2013
Next generation web talk @cross2013Next generation web talk @cross2013
Next generation web talk @cross2013
 
GSLB機能について(MyDNS.JP)
GSLB機能について(MyDNS.JP)GSLB機能について(MyDNS.JP)
GSLB機能について(MyDNS.JP)
 
第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村第1回鹿児島node.jsの会資料_内村
第1回鹿児島node.jsの会資料_内村
 
Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築Grunt.jsを使った Expressの開発環境構築
Grunt.jsを使った Expressの開発環境構築
 
[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている[大図解]ピグライフはこう動いている
[大図解]ピグライフはこう動いている
 
Casual Compression on MongoDB
Casual Compression on MongoDBCasual Compression on MongoDB
Casual Compression on MongoDB
 
MongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasualMongoDB on EC2 #mongodbcasual
MongoDB on EC2 #mongodbcasual
 
ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用ストリーム処理エンジン「Zero」の開発と運用
ストリーム処理エンジン「Zero」の開発と運用
 
JMeter小話
JMeter小話JMeter小話
JMeter小話
 
私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか 私たちは何を Web っぽいと感じているのか
私たちは何を Web っぽいと感じているのか
 
Node.jsでスクレイピングして可視化してみた
Node.jsでスクレイピングして可視化してみたNode.jsでスクレイピングして可視化してみた
Node.jsでスクレイピングして可視化してみた
 
Useful Rundeck
Useful RundeckUseful Rundeck
Useful Rundeck
 
Mongo db使ってみよう
Mongo db使ってみようMongo db使ってみよう
Mongo db使ってみよう
 
MongoDBCSharp
MongoDBCSharpMongoDBCSharp
MongoDBCSharp
 
Rubyでつくるスレッド
RubyでつくるスレッドRubyでつくるスレッド
Rubyでつくるスレッド
 
Monocleとかいうのがありまして
MonocleとかいうのがありましてMonocleとかいうのがありまして
Monocleとかいうのがありまして
 
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法EWD 3トレーニング・コース #1 Node.jsとGT.Mの統合方法
EWD 3 トレーニング・コース #1 Node.jsとGT.Mの統合方法
 

En vedette

'Social media landschap' Nima Social Media Expert Class
'Social media landschap' Nima Social Media Expert Class'Social media landschap' Nima Social Media Expert Class
'Social media landschap' Nima Social Media Expert ClassEnergize
 
Informatica 2
Informatica 2Informatica 2
Informatica 2ceso2010
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Jeison Barros
 
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancyNarami Kiyokura
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Yasuharu Hayami
 

En vedette (9)

Cpu luis
Cpu luisCpu luis
Cpu luis
 
Jggug20110617
Jggug20110617Jggug20110617
Jggug20110617
 
Groovyの紹介20110820
Groovyの紹介20110820Groovyの紹介20110820
Groovyの紹介20110820
 
'Social media landschap' Nima Social Media Expert Class
'Social media landschap' Nima Social Media Expert Class'Social media landschap' Nima Social Media Expert Class
'Social media landschap' Nima Social Media Expert Class
 
Informatica 2
Informatica 2Informatica 2
Informatica 2
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
 
軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy軽量ASP.NETフレームワークNancy
軽量ASP.NETフレームワークNancy
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
 
7
77
7
 

Similaire à Groovyでjson

JSR353をGroovyで賢く使う
JSR353をGroovyで賢く使うJSR353をGroovyで賢く使う
JSR353をGroovyで賢く使うYasuharu Hayami
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリYukiya Nakagawa
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_GebNobuhiro Sue
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようAkira Shimosako
 
これからの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
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotationEIICHI KIMURA
 
Unit testing JavaScript with JUnit/JavaFX
Unit testing JavaScript with JUnit/JavaFXUnit testing JavaScript with JUnit/JavaFX
Unit testing JavaScript with JUnit/JavaFXShinya Mochida
 
明日から使える Java SE 7
明日から使える Java SE 7明日から使える Java SE 7
明日から使える Java SE 7Yuichi Sakuraba
 
JavaとScalaとGroovyと
JavaとScalaとGroovyとJavaとScalaとGroovyと
JavaとScalaとGroovyとirof N
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)parrotstudio
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会ko ty
 

Similaire à Groovyでjson (20)

Jggug20120901pojojson
Jggug20120901pojojsonJggug20120901pojojson
Jggug20120901pojojson
 
JSR353をGroovyで賢く使う
JSR353をGroovyで賢く使うJSR353をGroovyで賢く使う
JSR353をGroovyで賢く使う
 
GroovyでJSON2014
GroovyでJSON2014GroovyでJSON2014
GroovyでJSON2014
 
Androidで使えるJSON-Javaライブラリ
Androidで使えるJSON-JavaライブラリAndroidで使えるJSON-Javaライブラリ
Androidで使えるJSON-Javaライブラリ
 
Bp study39 nodejs
Bp study39 nodejsBp study39 nodejs
Bp study39 nodejs
 
TDC20111031_Groovy_Geb
TDC20111031_Groovy_GebTDC20111031_Groovy_Geb
TDC20111031_Groovy_Geb
 
Java EE8 Report
Java EE8 ReportJava EE8 Report
Java EE8 Report
 
Groovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみようGroovyで楽にSQLを実行してみよう
Groovyで楽にSQLを実行してみよう
 
これからの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)
 
R5 3 type annotation
R5 3 type annotationR5 3 type annotation
R5 3 type annotation
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 
Unit testing JavaScript with JUnit/JavaFX
Unit testing JavaScript with JUnit/JavaFXUnit testing JavaScript with JUnit/JavaFX
Unit testing JavaScript with JUnit/JavaFX
 
明日から使える Java SE 7
明日から使える Java SE 7明日から使える Java SE 7
明日から使える Java SE 7
 
JavaとScalaとGroovyと
JavaとScalaとGroovyとJavaとScalaとGroovyと
JavaとScalaとGroovyと
 
Nodejs
NodejsNodejs
Nodejs
 
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
どきっ!三行で作るランダムダンジョン!?~WEBもあるよ!~ - 2010/8/21 群馬Web研究会(勉強会)
 
TruffleSqueakの紹介
TruffleSqueakの紹介TruffleSqueakの紹介
TruffleSqueakの紹介
 
Nseg第32回勉強会
Nseg第32回勉強会Nseg第32回勉強会
Nseg第32回勉強会
 
MongoDB2.2の新機能
MongoDB2.2の新機能MongoDB2.2の新機能
MongoDB2.2の新機能
 
ScalaMatsuri 2016
ScalaMatsuri 2016ScalaMatsuri 2016
ScalaMatsuri 2016
 

Plus de Yasuharu Hayami

Plus de Yasuharu Hayami (10)

GroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱うGroovyのJSONで日付・時刻を扱う
GroovyのJSONで日付・時刻を扱う
 
今から始めるApache Groovy
今から始めるApache Groovy今から始めるApache Groovy
今から始めるApache Groovy
 
JsonSlurperの話
JsonSlurperの話JsonSlurperの話
JsonSlurperの話
 
GroovyでJSON2015
GroovyでJSON2015GroovyでJSON2015
GroovyでJSON2015
 
Jggug20141219 collect何とか
Jggug20141219 collect何とかJggug20141219 collect何とか
Jggug20141219 collect何とか
 
Groovyクイズ(計算編)
Groovyクイズ(計算編)Groovyクイズ(計算編)
Groovyクイズ(計算編)
 
jggug20120120
jggug20120120jggug20120120
jggug20120120
 
JsonOutputについて
JsonOutputについてJsonOutputについて
JsonOutputについて
 
Jggugcamp2010 LT
Jggugcamp2010 LTJggugcamp2010 LT
Jggugcamp2010 LT
 
Jggug20100724
Jggug20100724Jggug20100724
Jggug20100724
 

Dernier

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 

Dernier (8)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 

Groovyでjson

  • 2.   速水 康晴(はやみ やすはる)   1stネクスパイア株式会社 新潟オフィス ◦  プログラマ:Java/Flex/ActionScript   日本Grails/Groovyユーザーグループ(JGGUG) ◦  サポート・スタッフ   E-mail:toby55kij@gmail.com   Twitter:toby55kij 2012/07/13 2
  • 4.   JavaVM上で動作する動的なプログラミング言語 ◦  現在のバージョン:2.0.0 ◦  http://groovy.codehaus.org/   バージョン2.0の追加機能 ◦  Project Coinシンタックス対応 ◦  InvokeDynamicサポート ◦  静的型チェック:@TypeChecked ◦  静的コンパイル:@CompileStatic 2012/07/13 4
  • 5.   Javaから移行しやすい ◦  Javaコード≒Groovyコード   Javaを強化する機能満載 ◦  クロージャ,演算子オーバーロード,… ◦  JDKを拡張したGroovy JDK(GDK) ◦  便利なGroovy API   JSONは組み込みでサポート 2012/07/13 5
  • 7.   JsonBuilder:JSON文字列をDSLで構築 ◦  Writerに直接書き込む:StreamingJsonBuilder   例: def json = new groovy.json.JsonBuilder() json { person { firstName 'Yasuharu' lastName 'Hayami' } age 40 } println json.toString() 2012/07/13 7
  • 8.   JsonSlurper:JSON文字列を読み込む ◦  結果はJavaのListやMapに   例: def slurper = new groovy.json.JsonSlurper() def data = slurper.parseText '''{ "person": { "firstName": "Yasuharu", "lastName": "Hayami" }, "age": 40 }''' println "${groovy.json.JsonOutput.toJson data}" 2012/07/13 8