nDiki : JSON

JSON (JavaScript Object Notation)

RFC4627

メディアタイプは application/json で、拡張子は json

JSONPerl

Perl モジュールとしては JSONJSON::Syck、JSON::PC などがある。

JSON

JSON は pure Perl モジュールとして実装されている。

Perl 5.005_03 では JSON-1.07 は make test で failする。

JSON::Syck

YAML-Syck パッケージに含まれている。 JSON::Syck は libsyck を用いており高速であるが、オプションが少ない。

Perl 5.005_03 では YAML-Syck-0.82 は make test で failする。

JSON::PC

JSON::PC (多くの場合)JSON::Syck より速く、かつ JSON と同じオプションが用意されている。

Makefile.PL の中で use 5.008 されている。

関連情報

スポンサード リンク

2014年4月16日 (水)

今日のさえずり: 「闇開発」、意外と Google 検索結果少ない

  • 14:44 特定班。 / “「ソーシャル新人類」の不夜城〜10代は何を考えているのか - 恐ろしいほど簡単な個人の特定、「匿名性」の...:ITpro” http://nkbp.jp/1kZXJ5i
  • 14:44 アウトランだって! / “3D アウトラン |セガ 3D復刻プロジェクト” http://bit.ly/1kZXK9c
  • 17:10 「闇開発」、意外と Google 検索結果少ない。
  • 20:36 jq 試している。1行1データをいったん JSON の配列にするの cat data.txt | jq -R '.' | jq -s '.' 以外にいい方法あるのかな?
[ 4月16日全て ]

2014年7月29日 (火)

各行が JSON になっているログファイルを jq でチェック

各行が JSON になっているログファイルのチェックにコマンドライン JSON プロセッサの jq 使ってみた。

とりあえず | オペレータが肝なのと、フィルタリングには select 関数を使えば良いということを理解した。あと関数はパイプライン的に受け取るデータと、引き数とで受けとるデータとの2種類があるのでちょっと慣れが必要。普段からレシピを作っておく方が良さそげ。気がついたら http://www.naney.org/diki/dk/jq.html の方にメモっておくことにする。

ワンライナーで書けるのは便利だけれど、大量の JSON データでかつきちんと parse しないで正規表現で抜けるようなデータの場合は Perl でチャキチャキっとやった方が当然だけれど圧倒的に高速なのでうまく使い分けだね。

[ 7月29日全て ]

2015年3月10日 (火)

Android + Google Chrome で使える日記アプリ Journey

image:http://www.naney.org/nDiki/2015/03/10/overview_devicelineup_transparent.png

日記アプリ(ジャーナルアプリ)は「Day One (iOS) + Narrate (Android)」をメインで使っているのだけれど、「別のテーマで日誌をつけるのに分けたい」のと「Web ブラウザでも編集・閲覧したい」というのがあって Journey が良さそげなので使ってみることにした。

Android アプリGoogle Play では Journal (by Journey) になっている。

データは自分の Google ドライブに保存される

データは自分の Google ドライブに保存されるので端末がクラッシュしても大丈夫。開発元の 2 App Studio のストレージには保存されない。「GoogleDropboxEvernote なら自分のプライベートなデータを置くのを許容する」という自分のルール的にも OK。

日記アプリは、ロックインされないことが重要で選択時の大きな基準。Journey の場合は Android アプリから「Export/Backup」で JSON ファイル群を ZIP アーカイブしたファイルで保存する機能がある。 常に XML ファイルとして普通にアクセス可能な状態になっている Day One より一歩劣るものの、 JSON なので移行が必要な時は自分で変換できるので許容範囲と判断。

Google Chrome から閲覧・編集できる

Chrome アプリがあり PC から閲覧・編集ができる。PC 向けには公式には Mac アプリしかない Day One とは違って WindowsLinux でも使えるのが良い。なお Android アプリとは関係無しに Chrome ウェブストアから Chrome に追加して使えるので、PC のみで使うというのもあり。

ちなみに Journey Web ( http://journeyapp.me/ ) で Chrome アプリを入れなくても自分のジャーナルを閲覧できるようになっている。

ローカルホストから直接 Google ドライブにアクセスし 2 App Studio 側を経由しないと言明しているのでプライバシー的にも安心(信用する限り)。

Chrome アプリでは、いにしえの Evernote を彷彿させる巻物的表示(全文を時系列にスクロールで見ていける)なのがとても良い。個人的にこのタイプの表示が好きなのだけれど、現状少ないので嬉しい。

文字が大きく行間が広いのでかなりスカスカ感はあるので、もう少しタイトになるといいなとは思う。

その他

Markdown をサポートしているのも良いところなのだけれど、見出しがセンタリングだったりするのがそこはかとなくダサい。

あとはまずまず良い感じ。

(画像http://2appstudio.com/journey/ より。)


[ Android アプリレビュー ]

[ 3月10日全て ]

2015年3月19日 (木)

今日のさえずり: あのまとめ、中の人が作成したっぽいな

2015年03月19日

  • 10:51 NAVERまとめにあるあのまとめ、中の人が作成したっぽいな。同じユーザーが他のまとめも数個作っているけど更新日が2日間ぐらいに集中しているし、ダミーと推測。
  • 13:44 I'm at どん兵衛屋 渋谷駅ナカ店 in 渋谷区, 東京都 http://4sq.com/1Gs5QxK
  • 13:50 初どん兵衛屋。意外に広くゆったりしている。 https://flic.kr/p/qK7yY6
  • 14:04 どん兵衛屋、マクドナルドよりリラックスできるぞ(ただしどん兵衛の CM がエンドレスで流れている)。
  • 20:06 昨日 Perl で書いたスクリプトを(まともに書いたことがない) Go で書き直してみてた。 encoding/json で JSON 文字列を Unmarshal すると面倒なことはわかった。
  • 24:37 ずっと ~/var/Dropbox にしていたんだけれど ~/Dropbox に昇格させた。その方がスクリプトを書くの手抜けるし。
[ 3月19日全て ]

2015年9月8日 (火)

Markdown ビューアを OpenID Connect を使って Google アカウント認証できるようにした

社内で動かしている Markdown ビューアについては去年 mixi Open ID 認証にしました(記事)。ですが mixi OpenID については 2016年1月25日提供終了となっていますので今回認証を変更しました。

今回は Google アカウント認証できるように OpenID Connect を使ってみることに。基本的には OAuth 2.0 とほぼ同じです。

認証ページ(https://accounts.google.com/o/oauth2/auth)にリダイレクトさせる時に scope パラメータに 'openid email' を指定しておきます。

そしてコールバックを受けて https://accounts.google.com/o/oauth2/token でアクセストークンを取得した際に、レスポンスに一緒に含まれる id_token をパースして email 取り出します。今回はそのメールアドレスが指定ドメインだったらアクセスを許可するという処理にしました。

JSON Web Token (JWT) である id_token のパースには OIDC::Lite::Model::IDToken モジュールを使用。

 $email = OIDC::Lite::Model::IDToken->load($id_token)
    ->payload->{email};

で email が取得できます。

[ 9月8日全て ]

2017年9月29日 (金)

初全ツイート履歴ダウンロード

自分の Tweet は API で取ってきておおむね nDiki の記事にまとめてあるのですが、使い始めの頃はそんなことをしていなかったので手元にデータとして取ってありませんでした。公式機能で全ツイート履歴ダウンロードができるのは知っていましたがそのうちと思いつつずっとやり忘れていたので、ようやく腰を上げて全ツイート履歴リクエストを設定からしてみたところ、ほどなくして準備完了のメールが届きました。

ダウンロードした ZIP ファイルの中をみると、予想していた通り人間用に HTML ファイルがありました。そしてそれ以外に CSV 形式ファイル・JSON 形式ファイルが含まれていてきちんと利用しやすい形になっていて良くできているなと感心してしまいました。良いですね。

きちんと README.txt をみてみたら HTML ファイル (index.html) は JSON 形式ファイルを読んで表示するページになってました。なるほど。API のレスポンス仕様と同じ JSON 形式をエクスポートデータにしているのですね。

[ 9月29日全て ]

2018年6月13日 (水)

web app manifest #nNote

Web アプリや Web サイトモバイル端末のホーム画面などに表示する方法を指定するための JSON ファイル。PWA (Progressive Web App) では必須。

[ 6月13日全て ]

2018年11月28日 (水)

今日のさえずり: Remember The Milk に インポート・エクスポート機能が入った。バックアップしておけるようになったの嬉しい。

2018年11月28日

[ 11月28日全て ]

2018年11月29日 (木)

今日のさえずり: チャリ走のシャツを着ている人とすれ違った。いいなー。

2018年11月29日

[ 11月29日全て ]

2021年1月11日 (月)

今日のさえずり: 我が家にもキットカットのダウンサイジングの波がやってきた

[ 1月11日全て ]

About Me

Naney Naney

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

月別インデックス
Process Time: 0.0955s / load averages: 0.42, 0.34, 0.40
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker