http://atnd.org/events/12420
JSONICソースコードリーディングに行って来ました。初参加な方が半数近く居らっしゃったのですが安心のダラダラ感。……次回はコードリーディングのガイドみたいなのを軽く入れてみたいとも思いました。
ちょっとだけ喋って来ました。資料はGoogleDocsに放り投げてます。若干崩れてます*1けど気にしない。
jsonicreading - Google スライド
JSONの説明は全員知ってたら流す、知らなかったら口頭説明と http://json.org への誘導予定だったんですが、既に知っている方が大半だった事に加え、後の id:tan_go238 さんとも被っていたので説明自体割愛しました。コードより json.org や RFC4627 読んだ時間のほうが長かったのに!
…となると、コード読む前の事前知識的に説明することは殆ど無かったんですよね。クラス図とか出しても何が判るでもないので、最後のページにまとめてる通りになっちゃう感じで。そんなわけで発表自体は10分程度で終了しちゃいました。
その後は id:tan_go238 さんの発表があり、終わった後は適当にリーディング。
今回はScalaとGroovyも交えて良い感じに何の会か判らない状態になってました。やはりこの辺りは向いてますね。かなり自然な形で扱える印象を受けました。Scala良いなーとか、相変わらずGroovyはGroovyだなーとか。
「GroovyとJSONどう違うんだ!」(見た目が酷似している) #jsonic_reading
import groovy.json.* def value = [key1 : 'value1', key2 : 'value2', key3 : [1,2,3]] println (new JsonBuilder(value)).toString()
結果
{"key1":"value1","key2":"value2","key3":[1,2,3]}
並べて比較
[key1 : 'value1', key2 : 'value2', key3 : [1,2,3]] {"key1":"value1","key2":"value2","key3":[1,2,3]}
外側の括弧を中括弧にして、キーと文字列をダブルクォテーションに変えて、スペースを除去してるだけにしか見えませんね。これなら置換で出来るよ!
GroovyからJSONICを使う
https://gist.github.com/888124 で出来るみたいです。Mavenは1.2.0までしかあがってないけど、jar置いてパス通すでもできるはず。
安心のグダグダ感。私はさっきからGroovyConsole叩いてるし。 #jsonic_reading
@irof Grabつかえるんですか?JSonicって Re:irof 安心のグダグダ感。私はさっきからGroovyConsole叩いてるし。 #jsonic_reading
@kimukou_26 @irof つ URL
リンク
- Togetter Javaソースコードリーディング 第3回
- ScalaでJSONパーサを作ろう! / id:backpaper0 さんの発表資料
- GroovyでJSONを使おう(その2) - No Programming, No Life / JsonBuilderの使い方
*1:主にtabが消えてる