タグ

JSONに関するnipotanのブックマーク (26)

  • Parse::RecDescentでJSONをパース - はこべにっき ♨

    JSON::Hatchet の構文解析子 - Tociyuki::DiaryのJSONパーサがすっきりと書けていたのものだから,ちょっとうちもJSONパースしたくなってので書いてみました.といってもLL構文のパーサを1から書くのも芸がない感じだったので.Parse::RecDescentというCPANモジュールを使ってJSONのパーシングをしてみました. Parse::RecDescentはその名のとおり,汎用の再帰下降型パーサです.LL(1)文法にのっとっていれば,パースが可能です.*1 id:tociyukiさんがの記事にあるBNFを流用させてもらい,JSONのパーサを書くと以下のようになりました. このように,BNFっぽいものを記述するだけでパースを行うことができてお手軽です.パターンとして正規表現を書くこともできて,スキャナーに相当することもやってくれてます. 構文規則に合わせてパ

    Parse::RecDescentでJSONをパース - はこべにっき ♨
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

    nipotan
    nipotan 2008/02/08
    JSON::XS を使う版
  • JSON文字列化 - 日向夏特殊応援部隊

    JSのデータをJSON文字列化したいー、なんて時があるならば json.orgが公式で出しているjson.jsを使うのが世間では多いみたいなんですが、 これはCoreオブジェクトのprototypeにメソッド追加してるんで、場合によってはハマる人が多い*1みたいです。 http://search.cpan.org/dist/MozRepl/lib/MozRepl/Plugin/JSON.pmでもjson.jsを使っていたのですが、それが嫌だったので止めました。 別の選択としては下記のような物があります。 http://code.google.com/p/trimpath/wiki/JsonLibrary (trimpathの一部?) http://www.thomasfrank.se/json_stringify_revisited.html (上の拡張らしい) で今はjsonString

    JSON文字列化 - 日向夏特殊応援部隊
  • Net::Twitterからかえってくる日本語がいまいちおかしい人は - はこべにっき ♨

    JSON::XSいれると良いかも知んない。 JSON::Anyによって選ばれるモジュールによっては日語の扱いがいまいちっぽい。

    Net::Twitterからかえってくる日本語がいまいちおかしい人は - はこべにっき ♨
  • log4ZIGOROu : JSON::DWIW vs JSON::Syck vs JSON

    最近CPANにJSON::DWIWというJSON parserがリリースされて居ました。 このモジュールのPODにはBenchmarkの結果があり、JSON, JSON::Syckとのベンチ結果が載っていますが、なんとJSON::Syckより速いとの結果が出ています! ちょっと気になったので自分でもベンチマークを取ってみました。 ソース 下記のような感じです。 #!/usr/bin/perl use strict; use warnings; use Benchmark; use Data::Dump qw/dump/; use File::Slurp; use JSON qw(); use JSON::Syck; use JSON::DWIW; our $json_file = $ARGV[0]; die("not json file") unless ($json_file && -e

  • JSON-XS-4.03

    when parsing comments in relaxed mode, JSON::XS would detect garbage after the JSON text if the comment is after the end and does not end in a newline (reported by Felipe Gasper).

    JSON-XS-4.03
  • Exif JSONサービス - Ogawa::Memoranda

    Posted by: Hirotaka Ogawa @ January 26, 2007 11:49 AM | デジタルカメラなどで撮影した画像ファイルに含まれるExifメタ情報を取得し、JSON形式で出力するサービスを作ってみました。 JSON形式で取得する JSON形式でExif情報を取得する場合には以下の形式のURLをGETします。 http://as-is.net/exif/json?url=<Image-URL> 戻り値はJSON形式のExif情報です。 {"FocalLengthIn35mmFormat":28,"ThumbnailOffset":8096,"WhiteBalance (1)":"Auto", "Model":"DMC-LX2","FlashpixVersion":"0100","ShutterSpeed":"1/100", "ShootingMode":"Pr

  • JsonML を使う高速テンプレートエンジン「JsonML.Template」 - IT戦記

    というのを作ってみた JsonML とは JSON を使ったマークアップ言語です。 http://jsonml.org/ 使いかた // テンプレートの作成 // <div class="section"><h2>タイトル</h2><p>文</p></div> var t = $T(['div', {class: 'section'}, ['h2', 'タイトル'], ['p', '文'] ]); // 要素の生成 document.body.appendChild(t()); // 呼び出すだけ // テンプレートの作成 var t = $T(['div', {class: 'section'}, ['h3', function(c){return c.getVar('title')}], // タイトルを動的に生成 ['p', function(c){retur

    JsonML を使う高速テンプレートエンジン「JsonML.Template」 - IT戦記
  • JSON feed を利用してエントリーに関連する del.icio.us ブックマークを表示 - 2xup.org

    2006-12-25T21:18:10+09:00 面白いものを見つけたのだけれど、ブログに書いてもただの紹介記事に終わってしまいそうなものをタグ付けしてブックマークし、ブログ内の関連する記事のページに表示することにしました。ブログ記事につけたタグと同じタグのついたブックマークを表示できれば記事に関連するリンク集ができるし、自分自身へのフィードバックにもなって良いかも。ソーシャルブックマークサービス del.icio.us では JSON feed も提供されているので、それを利用することに。 JavaScript Object Notation - Wikipedia JSON Feed(川o・-・)<2nd life) JSON Feedとか何とか(hail2u.net) JSONフィードとか何とか #2(hail2u.net) del.icio.us の JSON feed del.

  • Sledge-Plugin-JSON - Hatena::Diary::Neko::kak 500 Internal Server Error

    CPANに今あげました。 モチベーション下がり気味で放置してましたが、 PODのバグを直したりをちょうど今やってて勢いでえいやとアップしました。 そのうちインデックスされるんでないでしょうか。 cpan-upload使ってあげてるのですが、便利。 PAUSEにファイルアップするのにWEBからのアップはめんどっちーので。 Wiiはずれた>< (追記) DBIx-Class-StorageReadOnlyも今上げてる。 今日は上げ祭りだ。 わしょーい。

    Sledge-Plugin-JSON - Hatena::Diary::Neko::kak 500 Internal Server Error
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • UNIVERSAL::to_json リリース - Kentaro Kuribayashi's blog

    UNIVERSAL::to_json なんてのをこさえたのですが、DIS られる悪寒をひしひしと感じながら、CPAN にうpってみたりしました。UNIVERSAL::to_yaml インスパイヤ。つか、autobox かっけ! use UNIVERSAL::to_json; my $obj = Foo->new; print $obj->to_json; { use autobox; # activate autobox print 'scalar value'->to_json; #=> "scalar value" print [qw(list items)]->to_json; #=> ["list","items"] print {key => 'value'}->to_json; #=> {"key":"value"} no autobox; # inactivate autob

    UNIVERSAL::to_json リリース - Kentaro Kuribayashi's blog
  • subtechグループ - ℃-uteさんの日記 - 続・UNIVERSAL::to_json

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    subtechグループ - ℃-uteさんの日記 - 続・UNIVERSAL::to_json
  • JSONフィードとか何とか #2

    TypePadがJSONフィードの出力に対応したそうで。JSONフィードってーのはdel.icio.usのJSON Feedsとかで見られる、JSONを利用したRSSやAtomっぽい配信フォーマットで、Pure JavaScriptで扱えるのが最大の特徴。特に仕様なんかは無い(と思う)。かなり昔にこのサイトで妄想として取り上げていたのが現実になった感じ。 というわけでblosxomでindex.jsonというTypePadのJSONフィードに似せた感じの出力を確保する仕組みの実装する方法書いてみる。TypePadのテンプレートに準拠したいところだけどTypePadとかいうprefixがちょっとアレなアレでアレ。 flavourだけでJSONフィードを出力するのはちょっと難しい。W3CDTFで日付を出力とかでつまづいちゃうので、interpolate_fancyプラグインとテキトウな作りのr

    JSONフィードとか何とか #2
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    nipotan
    nipotan 2007/08/13
    いや、これ良さげだと思った
  • livedoor クリップのAPI公開について : livedoor クリップ開発日誌

    livedoor クリップをご利用いただきありがとうございます。 担当の金子です。 日、「livedoor クリップ」のクリップ件数を取得するAPIと、最近クリップしたマイクリップをJSON形式で取得するAPIを公開いたしました。 それにともない、 livedoor Wiki にて「livedoor クリップまとめサイト」を開始いたしました。このWikiでは、livedoor クリップの便利な使い方や、ブログオーナー様、開発者様向けの各種APIについて案内して参ります。 より詳しい情報は、livedoor クリップまとめサイトの - クリップ件数取得 API - マイクリップを JSON で取得する API の項目をご覧ください。 livedoor クリップまとめサイトでは、今後も新しいAPIの仕様公開や便利な使い方の紹介などを行って参ります。内容も随時更新して参りますので、下記のリンク

    livedoor クリップのAPI公開について : livedoor クリップ開発日誌
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Sledge::Plugin::JSONRPC - Hatena::Diary::Neko::kak 500 Internal Server Error

    API作る必要が出てきたので作ってみた。 package Sledge::Plugin::JSONRPC; use strict; use warnings; use JSON::Syck; sub import { my $self = shift; my $pkg = caller; $pkg->register_hook(BEFORE_INIT => sub { my $self = shift; $self->{_body} = do { local $/; }; }); no strict 'refs'; *{"$pkg\::jsonrpc"} = \&_jsonrpc; } sub _jsonrpc { my $self = shift; my $req; # Deserialize request eval { $req = _deserialize_jsonrpc($sel

    Sledge::Plugin::JSONRPC - Hatena::Diary::Neko::kak 500 Internal Server Error
  • livedoor clip jsonp api sample

    <h2><a href="http://clip.livedoor.com/clips/[[livedoor_id]]">[[ livedoor_id ]]</a></h2> <ul>[[#{ clips.map(Template.get("tmpl_list").compile()).join("") }]]</ul> <li><a href="[[link]]">[[title]]</a> <br><small><a href="http://clip.livedoor.com/page/[[link]]">[[public_clip_count]]user</a> | [[#{ tmp=now-created_on, ((tmp<7200)?'<span class="recent">':"")+(tmp).toRelativeDate()+((tmp<3600)?'</span>'

  • Rails の to_json を 13 倍速くする方法 - 2nd life (移転しました)

    http://shugo.net/jit/20060715.html 先日、ちょっとした Rails アプリを作っていたのですが、JSON で出力する部分がやたらと遅くて困ってました。で、軽く調べてみたら ActiveSupport の String#to_json がやたらと重い!そういえば前田さんも遅い云ってたよな、と思って上記 URL で書いてある String#to_json に変更したところ、なんと約 13 倍も速くなるという驚きの結果に!!! というわけで、Rails で JSON な API を提供している人は割と上記 String#to_json の変更が必須かと。家にとりこまれないかなー。 あとベンチマークはこんな感じで。Benchmark::Runner は自作のを使ってます。 #!/usr/bin/env ruby require 'benchmark/runner

    Rails の to_json を 13 倍速くする方法 - 2nd life (移転しました)