タグ

jsonに関するtyruのブックマーク (35)

  • GitHub - francoispqt/gojay: high performance JSON encoder/decoder with stream API for Golang

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - francoispqt/gojay: high performance JSON encoder/decoder with stream API for Golang
  • 事実上最後のJSON仕様「RFC 8259」と「ECMA-404 2nd Editon」公開。UTF-8エンコード必須に

    RESTful APIのデータフォーマットなどで広く使われているJSON。IETFはJSON仕様「RFC 8259」を発表。従来の仕様をブラッシュアップしつつECMAの仕様との統一も実現した、事実上最後のJSON仕様になると見られる。 IETFからJSON(ジェイソン)の仕様を示した「RFC 8259」(The JavaScript Object Notation (JSON) Data Interchange Format)が公開されました。 IETFにおけるJSON仕様は、これまで「RFC 7159」が参照されていましたが、RFC 8259の公開によりRFC 7159は廃止(Obsolete)となりました。 RFC 8259は、多数の実装と十分な運用実績を積み重ねたインターネット標準「STD 90」としても参照されます。 ECMAとの統一を実現。事実上最後のJSON仕様になると見られる

    事実上最後のJSON仕様「RFC 8259」と「ECMA-404 2nd Editon」公開。UTF-8エンコード必須に
    tyru
    tyru 2017/12/23
    UTF-8 固定じゃなかったのか。そういえば最近コメントとかケツカンマ入れられる JSON5 というのを知った http://json5.org/
  • JSON5 – JSON for Humans

    JSON for Humans View the Project on GitHub json5/json5 JSON5 – JSON for Humans JSON5 is an extension to the popular JSON file format that aims to be easier to write and maintain by hand (e.g. for config files). It is not intended to be used for machine-to-machine communication. (Keep using JSON or other file formats for that. 🙂) JSON5 was started in 2012, and as of 2022, now gets >65M downloads/w

    tyru
    tyru 2017/12/22
    知らんかった…設定ファイルに使いたい
  • もう一度、ちゃんとJSON入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    僕自身も僕の周辺もJSONをよく使います。でも、細かい点でけっこうミスをやらかしています(苦笑)。このエントリーで、JSONを使う上で注意すべきこと/間違いやすい点をすべて列挙します。 内容 兼チェックリスト: 仕様原典さえ読めば完璧(のはずだが) 数値の前にゼロを付けてはいけない 16進数表記も禁止だよ 数値の前にプラスを付けてはいけない 小数点からはじまる数値はダメ 用語法が違うよ:プロパティとメンバー メンバー名には常に文字列を使う 空文字列""もメンバー名に使える 配列要素はキッチリと並べよう 文字列を囲むには二重引用符だけ 文字列内のエスケープが微妙に違う 仕様にないエスケープは構文エラー undefinedもNaNもありません ラッパーオブジェクトは使わないのが吉 型システムとtypeofに関する注意 最後に 仕様原典さえ読めば完璧(のはずだが) JSONは、小さくて簡単な仕様

    もう一度、ちゃんとJSON入門 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tyru
    tyru 2016/02/07
    すごく分かりやすい。
  • Vim の channel と json のパフォーマンス - Blank File

    先日公開した livemark.vim には想像以上にたくさんの反響をいただきました。 ありがとうございます。 最近では海外の方からもGithubのスターをいただきました。 思いつきで作ったプラグインでしたが、せっかくなので普段使いできるようにいくつか更新しました。 channel をサポートしない vim では python を使うように修正 channelをサポートするvimでもpythonを使いたい場合は let g:livemark_force_pysocket=1 で使えます マークダウンの変換及びプレビュー表示をするpythonを指定する設定追加 let g:livemark_python='/path/to/python' で指定できます プレビューを表示するブラウザを vim から設定できるように修正 let g:livemark_browser='[ブラウザ名]' で設定

    Vim の channel と json のパフォーマンス - Blank File
  • 機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記

    WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるようにしましょう(むしろ機密情報かどうかに関わらず、全てのコンテンツにつけるほうがよい。関連:X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記)。 例えば、機密情報を含む以下のようなJSON配列を返すリソース(http://example.jp/target.json)があったとします。 [ "secret", "data", "is", "here" ] 攻撃者は罠ページを作成し、以下のようにJSON配列をvbscriptとして読み込みます。もちろ

    機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記
  • JSONをvbscriptとして読み込ませるJSONハイジャック(CVE-2013-1297)に注意

    はせがわようすけ氏のブログエントリ「機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき」にて、巧妙な罠を仕掛けることにより、別ドメインのJSONデータをvbscriptとして読み込み、エラーハンドラ経由で機密情報を盗み出すという手法が紹介されました。これは、IEの脆弱性CVE-2013-1297を悪用したもので、MS13-037にて解消されていますが、MS13-037はIE6~IE8が対象であり、IE9以降では解消されていません。 また、MS13-037を適用いていないIE6~IE8の利用者もしばらく残ると考えられることから、この問題を詳しく説明致します。サイト側の対策の参考にして下さい。 問題の概要 JSON形式のデータは、通常はXMLHttpRequestオブジェクトにより読み出しますが、攻撃者が罠サイトを作成して、vbscript

    JSONをvbscriptとして読み込ませるJSONハイジャック(CVE-2013-1297)に注意
  • Big Sky :: 最速と言われる JSON パーサ「rapidjson」が本当に爆速なのか試してみた。

    なんびとたりとも俺の前は走らせねぇ ガチバトルです。 rapidjson - A fast JSON parser/generator for C++ with both SAX/DOM style API - Google Project Hosting Rapidjson is an attempt to create the fastest JSON parser and generator. Small but complete. Support... https://code.google.com/p/rapidjson/ fastest をうたうとは度胸があるなーと思いながら、半信半疑で試してみました。 rapidjson も picojson 同様に、ヘッダファイルだけあればコンパイル出来る C++ 向け JSON パーサ(およびシリアライザ)です。 まずは rapidjso

    Big Sky :: 最速と言われる JSON パーサ「rapidjson」が本当に爆速なのか試してみた。
    tyru
    tyru 2013/02/16
  • にひりずむ::しんぷる - JSONPath が便利でスクレイピングが捗る話

    JSONPath というのがあって、いわゆる XPath の JSON 版です。 仕様は以下 JSONPath - XPath for JSON XPath すべての機能が使えるわけではありませんが、巨大な JSON から目的の key を探す場合にはなかなか便利です。 たとえば、Dailymotion の JSON なんかはダンプすると 900行ぐらいあったりして、しかも超絶階層が深い。更にいうと配列が多くて、順番が変わる可能性も高い (というか実際に昔作ったスクリプトがうごかなくなっていた)。 そういう場合にサクッと指定してモリっと取ってきてくれると便利ですね。 例えば Dailymotion の動画のタイトルが欲しい場合は、JSONPath を使わないと以下のようになります。 my $title = $json->{sequence}[0]{layerList}[0]{sequenc

  • Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。

    前回は JSMN というのを試したけど、今度も matsuu さんのブクマから。。。 parson Lightweight json parser and reader written in C. http://kgabis.github.com/parson/ 特徴は 軽い (2ファイルだけ) 単純なAPI ドット記法による json 値のアドレッシング (C言語の構造体やOO言語のオブジェクトに似た感じ。例: "objectA.objectB.value") C89 コンパティブル テストスーツ 前回の JSMN とは違い、メモリを動的に確保するタイプ。DOM の様にルートノードから探索を始め、最終的にルートノードを指定してメモリを開放する。 今回もtwitterのタイムラインをパースしよう。 #include <assert.h> #include <string.h> #inclu

    Big Sky :: C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。
    tyru
    tyru 2012/11/04
    「C言語のJSONパーサの中では、私が知る限り一番扱いやすい」 / MEMFILEとかcurlのあたりはスニペットか既存コードから持ってきたんだろうなぁ
  • JSONView :: Firefox Add-ons

    通常、JSON ドキュメント(内容タイプ「application/json」)に遭遇すると、Firefox は単にファイルのダウンロードを促します。JSONView 拡張機能では、JSON ドキュメントは XML ドキュメントが表示されるのと同じようにブラウザー内で表示されます。ドキュメントはフォーマットおよびハイライトされ、配列とオブジェクトは折りたたむことができます。JSON ドキュメントにエラーがあったとしても、JSONView は素のテキストを表示します。 JSONView をインストールしたら、http://benhollis.net/software/jsonview/example.json で拡張機能の動作確認をしてみてください! 既知のバグ: * 「名前を付けてページを保存」は元の JSON ドキュメントの代わりに HTML を保存します。 * 「ページ情報」パネルは J

    JSONView :: Firefox Add-ons
    tyru
    tyru 2012/10/01
    とりあえずいれといた
  • 設定ファイルは relaxed JSON でいいんじゃないかとおもった話 - tokuhirom's blog

    設定ファイルは relaxed JSON でいいんじゃないかとおもった話 JSON.pm の relaxed モードについて Perl5 の JSON.pm/JSON::XS では relaxed JSON というものがサポートされている。これは JSON 仕様をゆるくしたもので、 shell style のコメント(# 以後がコメントとなる)のサポートと、ケツコンマのサポートが含まれている。 JSON が設定ファイルとしてつかいづらいといわれる所以はたいがいコメントがつかえないことなので、まあこれなら許容範囲かな、と。mobirc の設定ファイルもこれにしてみました。 JSON の場合は、JS がわかる人なら手でかけるのと、まあわからなくても覚えることがすくないし、覚えても損がない感じがイカス!とおもいました。 他の選択肢 その他の選択肢としては ini や yaml が考えられます。

    tyru
    tyru 2012/07/08
  • JSON でカンマを要素の先頭に書くことがあるのはなぜか - わからん

    node.js の package.json で、次のような書き方をよく見かけます。 { "name": "example-app" , "version": "0.0.1" , "private": true } JSON でカンマを、名前:値のペアの前に配置する理由がわからず tweet したところ、@sugyan さんと @Jxck_ さんにいろいろ教えていただきました。その共有です。 追記 A better coding convention for lists and object literals in JavaScriptGist

    tyru
    tyru 2011/11/12
    これCでやったことあるw というかJSでも古いIEは行末カンマ許さないんだからこう書くべきなのかな / id:uupaa 淘汰された、ってのは何故ですか?
  • subsetじゃない悲しい話 (JSON編) - 枕を欹てて聴く

    https://tc39.github.io/proposal-json-superset/ JSON編以外はありません. Edge case "JSON: The JavaScript subset that isn't Timeless" URL 2011-05-16 15:49:26 via PNBT このような記事が JSON: The JavaScript subset that isn't — Timeless つまり, LineTerminatorに\u2028 / \u2029が含まれない(JSON)ので, StringLiteralがうっかりJSONの方が許容範囲が広がってしまっているという話です. eval('"\u2028"'); // SyntaxError JSON.parse('"\u2028"'); // OK 自作ECMAScript Engine, lv5

  • Vimでjsonをeval - ::Eldesh a b = LEFT a | RIGHT b

    VimスクリプトでJSON APIを公開しているwebサービスの内容を取得しようとしています. 調べた感じでは ココ->意外と知られていないvimのtips(vimでJSONを解釈してみる)の方法が簡単そうです. やってる内容は, Vimの辞書型データが(多分偶然)JSONの表記とそっくりなことを利用して, JSのように*1evalして値を取得するという方法です. 一応以下にコピペ(+コメントを追加) function! GetJson(url) " エンコーディングの設定を退避 let org = &enc " utf-8モードに設定 let &enc = "utf-8" " curlでwebサイトの内容を持ってくる let ret = system("curl -k -u user:pass -s \"" . a:url . "\"") " うにこーどをアンエスケープ let ret

    Vimでjsonをeval - ::Eldesh a b = LEFT a | RIGHT b
  • Vjeux » JSPP – Morph C++ Into Javascript

    C++ has a new standard called C++0x (Wikipedia, Bjarne Stroustrup) that includes many interesting features such as Lambda, For Each, List Initialization ... Those features are so powerful that they allow to write C++ as if it was Javascript. The goal of this project is to transform C++ into Javascript. We want to be able to copy & paste Javascript into C++ and be able to run it. While this is not

  • Python の JSONライブラリのパフォーマンステスト

    概要 最近、あるお客さんから、快速なので、cjsonを使おうという要望をいただきましたが、以前、僕はcjsonは色なエッジケースの処理が微妙と分かっていて、実際に他のライブラリより早いのかなと思いました。cjsonのPyPIページいろなコメントが書かれています。しかも、最新パージョンは2007リリースでかなり古い。バグがあるのに、直っていないし、あんまりメンテしてないライブラリに見える。 simplejsonもjsonlib もCで拡張があり、かなり最適化されていると思ったので、テストしてみようと思いました。 というわけで、パフォーマンステストを作って、Bitbucketにアップしました https://bitbucket.org/IanLewis/jsonlib-test 準備 buildoutを使って、環境を作ります テストを実行 ./bin/run_testを実行します。オプションは

  • Big Sky :: 何も見ずにC++でjsonパーサが書けるか試してみた。

    以前、kazuhoさんが書いたpicojsonの紹介をさせて頂いたのですが、あれから何度も使わせて頂いていてkazuhoさんのいる方角には足を向けて寝られないmattnです。 Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い! kazuhoさんがやってくれました。ずいぶん前からjsonをC++でパース(SAXじゃなくてDOM)するのに小さいライブラリないかなーと思ってました。個人的にはjson-cというのを使ってたのですが... http://mattn.kaoriya.net/software/lang/c/20090702153947.htm なんど見ても綺麗なコードです。 で、先日ちょっと出張があって新幹線に乗る事があり、ちょっとルールを決めて僕にも同じ物が書けるか試してみました。 以下ルール。 picojson相当のjsonパーサを

    Big Sky :: 何も見ずにC++でjsonパーサが書けるか試してみた。
  • JSONで入出力可能なNoSQL「Couchbase」が最初の製品をリリース

    JSON形式で入出力可能なドキュメントデータベースの「CouchOne」と、Memcached互換のキーバリュー型データストアの「Membase」、それぞれの開発企業が先月合併した「Couchbase」から、最初の製品「Couchbase Server」がリリースされました。Linux版、Windows版、MacOS版が用意されています。 無償のCommunity Editionと同時に、24時間365日のサポートがあるEnterprise Editionもリリース。両者の機能に違いはないとのこと。 合併後1カ月で統合製品をリリース Couchbaseは、JSONで入出力可能でスキーマ設計が不要な、柔軟性が高く使いやすいフロントエンド部分と、Memcachedと互換性のある高速なメモリキャッシュ機能を備え、自動シャーディングとクラスタリングによるスケーラビリティを備えたバックエンドから構成

    JSONで入出力可能なNoSQL「Couchbase」が最初の製品をリリース
  • 【Firefox】JSONViewは神拡張【Google Chrome】 - 射撃しつつ前転 改

    JSONViewを知らない人が社内でいっぱいいたので、これは宣伝すると他にも幸せになれる人がたくさん居るだろう、ということで宣伝してみる。 近年、JSON形式でウェブAPIを作成する機会が増えてきた。しかし、JSONで出力された場合、日語の文字列はエスケープされる実装が多く(仕様的にはエスケープしてもしなくてもどっちでもいい)、結果を目視で確認することができなくて困るということがよくある。 そのため、JSON APIをたたいてパースして出力するだけのスクリプトをわざわざRubyで書く、というようなことを繰り返していた(前に書いたスクリプトを探すよりも新しく書いたほうが早いのだが、それでもAPIを調べ直したりで3分ぐらいはかかる)のだが、JSONViewという拡張を使うことで、ブラウザ上でのJSONを、XML風に見やすく整形してくれることがわかった。以下のスクリーンショットに、JSONVi

    【Firefox】JSONViewは神拡張【Google Chrome】 - 射撃しつつ前転 改