タグ

jsonに関するhohoho_ho2005のブックマーク (18)

  • JSONの歴史

    2018/07/13のJSONの日の発表資料です。

    JSONの歴史
  • Web APIにはJSONベースのフォーマットを使おう - Qiita

    { "response": { "id": 3342124, "message": "Hi!", "user": { "id": 3456, "name": "Taro Yamada", "image_url": "/images/taro.png" } } } など、どの構造がいいでしょうか? もっと違う構造も考えられます。 JSONはシンプルですが、構造に制約がなさすぎます。適切な設計を行うには適切な制約が必要です。 そこで、plain JSONに少し制約を加えたJSONベースのフォーマットを使うことをおすすめします。 もしあなたが、JSONレスポンスをどのようなフォーマットにするかをチームで議論したことがあるなら、JSON APIは『自転車置き場の議論』に対抗する武器となる。 共有された規約に従うことで、生産性が向上し、汎用的なツールを利用でき、アプリケーションという重要なものに集中

    Web APIにはJSONベースのフォーマットを使おう - Qiita
  • jqコマンドでJSONをCSVに変換する - 唯物是真 @Scaled_Wurm

    jq 前に以下のニコニコ動画のデータセットの記事でも使いましたが、jqコマンドはJSONを変形したり一部を抽出したりするのにとても便利なコマンドです ニコニコ動画のデータセットが公開されたらしい - 唯物是真 @Scaled_Wurm マニュアルを見ると、条件に応じた処理とか最大値を求めるとか意外と複雑な機能も使うことができます jq Manual 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日語訳してみました | Developers.IO また以下のサイトでオンライン上で試せます jq play JSONをCSVに変換 JSONをCSVに直したい時があって使い方を調べたのでメモしておきます 単純な例 まずは単純に以下のようなJSONをCSVに変換します {"key1": 1, "key2": 2} 方法1 - 文字列展開 文字列中の\()の中身は展開さ

    jqコマンドでJSONをCSVに変換する - 唯物是真 @Scaled_Wurm
  • 非エンジニアに贈る「具体例でさらっと学ぶJSON」 | DevelopersIO

    よく訓練されたアップル信者、都元です。「JSONってなんとなくわかるけど、構造を読み取れる自信はないし、ましてや書ける気はまったくしない。」そんな人に贈るエントリーです。残念ながら、「13日の金曜日」や「Why Japanese people!!」しか思い浮かばない人は、想定読者対象外ですのでお引き取りください。逆に、正確な定義が欲しい人はRFC 4627RFC 7159(アップデートされてました)をご確認ください。 「JSON」とは。 JSONとは JavaScript Object Notation の略で、要するに「JavaScriptの中でオブジェクトを記述する書式」のことです。と言われてもなんのことだか分からない人向けの説明なので安心してください。 JSONというのは「データを表現するための記法(≒文法)」です。シンプルなデータであれば、文法など気にせずにただ書けば問題ありません

    非エンジニアに贈る「具体例でさらっと学ぶJSON」 | DevelopersIO
  • JSON Schemaを上手く運用出来そうなprmdとその周りのお話 - Qiita

    最近APIのバリデーションを行うのにJSON Schemaを使おうという話をよく聞くのですが じゃあやってみようとすると、単体のJSONのバリデーションを行うことは出来るけれど それが実際の運用に適用できるようにするためには、 それなりに考えなくてはいけないようです。 JSON Schemaって? JSON Schemaは、文字の通りJSONのスキーマ定義を明確にするものです。 2014/09/07現在、IETFにdraft v4が3つに分割されて公開されています。 JSON Schema Core JSON Schema Validation JSON Hyper-Schema それで、単体のJSONファイルの確認ならばCoreだけで十分なのですが WebサービスAPIを管理しようとなると、 JSON Hyper-Schemaのほうで定義されているlinksを使って、ひとつのURIに対

    JSON Schemaを上手く運用出来そうなprmdとその周りのお話 - Qiita
  • RESTとJSON、スキーマ定義について思うところ

    mozaic.fm #7 RESTや#mozaicfm REST を聴いての感想、それから「Web+DB vol82のWebAPIデザインの鉄則」に触発されたので書こうと思う。 REST設計について WebAPIを設計するうえでRESTが重要であることは周知のとおりである。 “Constraints are liberating”「制約は自由をもたらす」 @t_wadaさんがおっしゃっているように、RESTを前提にすれば、「アーキテクチャとしてもそうだし、アプリケーションフレームワークも「適切な制約」を設けることで設計のコストが下がる」という大きなメリットが生まれる。 しかし、相変わらずリソース設計やらインターフェース設計やらで悩んでおられる方も多いと聞く。 その一方で個人的には適切なフレームワークを使えばREST設計で悩まなくてもよいはず(※3)という思いもある。 インターフェース設計な

  • 全てがJSONになる - ✘╹◡╹✘

    TL;DR JSON Schemaを使ってこういうことが実現可能になった。 ダミーAPIサーバの提供 ドキュメントの自動生成 APIクライアントの動的定義 APIサーバのバリデータの動的定義 APIサーバのレスポンスの自動テスト JSON Schemaとは JSON SchemaというのはあるJSONのデータ構造を記述するための方法および書式の仕様で、 JSON SchemaもJSONで記述される。 これを利用すれば、リソースベースの(=RESTfulライクな)APIの仕様が簡便に記述できる。 例えば、我々のAPIレシピとユーザというリソースを扱っていて、 それぞれCRUDのAPIを備えており、レシピはidとtitleとdescriptionという属性を持つ、 という旨をJSON Schemaで表現できる。 なんで最近ちょっと流行ってんの Mobile First、 Service Or

    全てがJSONになる - ✘╹◡╹✘
  • [JavaScript]table-to-jsonを使ってテーブル内容をJSONにする | DevelopersIO

    htmlのテーブル内容をJSONにする htmlのテーブル内容を取得してJavascriptでなんらかの処理をすることはよくあります。 普通にjqueryを使い、行を取得してセルを取得して・・・と処理すればデータを取得することができますが、 今回紹介するjQuery用プラグイン、「table-to-json」を使用すると、もっと簡単にテーブルのデータをJSON形式で取得できます。 環境構築方法 今回使用した動作環境は以下のとおりです。 OS : MacOS X 10.7.5 jQuery : 1.9.1 セットアップ&動作確認 まずはここからtable-to-jsonをダウンロードしましょう。 ここのlibディレクトリにあるjsファイルを使用します。 そして、下記のようなhtmlをディレクトリ内に作成し、動きを見てみましょう。 <!DOCTYPE html> <html lang="ja"

  • 軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO

    jq Manual jqで簡単JSON加工 | Developers.IO jqコマンドが実は高性能すぎてビビッた話 - beatsync.net JSONを超絶に読みやすくする jq コマンド - WebAPIバリバリ使うor開発する人必須 CLIでJSONの整形をする - ( ꒪⌓꒪) ゆるよろ日記 JSON形式の情報を様々な条件や書式として成形、フィルタリングツール『jq』。上記関連エントリで私もこのツールの存在を知る事になったのですが、ツールの簡易さ・便利さに感動しながら私もちょくちょく利用させてもらっています。 そこでこのエントリでは、jq公式ページに展開されている利用ガイド・リファレンス的な位置付けの『jq Manual』を写経がてらざっくり日語訳してみました。ざっくり訳なのでこの部分の訳おかしい・間違ってる等ありましたら御指摘頂けると幸いです。例示されているサンプルコードも

    軽量JSONパーサー『jq』のドキュメント:『jq Manual』をざっくり日本語訳してみました | DevelopersIO
  • JSONベースのドキュメント指向データベース「RethinkDB 1.6」リリース | OSDN Magazine

    JSONベースのドキュメント指向データベース「RethinkDB」開発チームは6月13日、最新版となる「RethinkDB 1.6」(開発コード「Fargo」)を公開した。RethinkDBC++で書かれたオープンソースの分散型データベースで、JSON形式のドキュメントを保存でき、またRubyPythonJavaScript(WebブラウザまたはNode.js)からの操作をサポートする。 RethinkDBは分散型構成にも対応するドキュメント指向データベースで、分散環境におけるjoinやサブクエリ、アトミックな更新といった操作をサポートする。拡張性の高さやHadoopスタイルのMap/Reduce、シンプルなクエリ言語、メンテナンスのしやすさなどが特徴で、ライセンスはサーバーがAGPLv3.0、クライアントはApache License 2.0。 RethinkDB 1.6では、クエ

    JSONベースのドキュメント指向データベース「RethinkDB 1.6」リリース | OSDN Magazine
  • suz-lab.com - suz lab リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

  • 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)に注意
  • 補足編:機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記

    「機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記」の補足編です。 結局、よくわからないんだけど。 よくわからない場合は、とにかく全てのレスポンスに X-Content-Type-Options: nosniff をつけましょう。 機密情報を含むJSONにX-Content-Type-Options:nosniffをつける理由はわかったけど、「あらゆる」コンテンツにつける理由はなぜ? 機密情報を含まなくても、<script>のような文字列を含むコンテンツをIEで直接開いた場合にはXSSにつながる可能性もあります。どのようなコンテンツにX-Content-Type-Options:nosniffが必要かを考えるくらいであれば、全てのコンテンツに付与したほうが間違いがなくていいでしょう、ということです。 IEのためだけの問

    補足編:機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき - 葉っぱ日記
  • 機密情報を含む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用標準JavaAPI

    原文(投稿日:2013/04/26)へのリンク JSR-353、JSON処理(JSON-P)用のJava APIは、今月の最終承認投票にいたった。JSON-Pは(JAXPに似た)ストリーミングAPI(StAXのに似た)とオブジェクトモデルのAPI(DOMに似ている)で構成されている。リファレンス実装であるjsonpは、現在ベータでCDDL v1.1 と GPL v2の下でオープンソースした。JSON-Pは、今後のJava EE 7の一部となり、そのデフォルトのJSON実装のためにJAX-RSによって使用される。このAPIは、JSONデータバインディング(JAXBに似た)含んでおらず、より人気のあるJSONPすなわと"パディングのあるJSON"とは無関係ではあることに注意して欲しい。 JSON (JavaScript Object Notation) は軽量のデータ交換フォーマットで、Web

    JSON用標準JavaAPI
  • jqコマンドが実は高性能すぎてビビッた話

    GWが始まりましたが、鎌倉のGWは観光客多すぎて逆に住民はげんなりして外に出なくなる感じです。とはいえ路地まで観光客が攻め込んでくることは少ないので、路地を散歩する分には天気がよくていい感じですね。ちなみに人力車のおにーさんはそういう味のある路地を知り尽くしているので人力車で移動するのはそこそこオススメです(ぼくは乗ったことないけど「こんなところも通るんだ!」ってところで見かけたりします)。 さて、jqというコマンドをご存じでしょうか。 jq jq is a lightweight and flexible command-line JSON processor. と書いてあるとおり、コマンドラインでJSONを扱うことができるコマンドです。で、今まさに仕事で巨大JSONと戦うことが多く、このコマンドが大活躍です。 とはいえ、ぼくの使い方としては「巨大JSONをキレイに整形して表示する」とい

    jqコマンドが実は高性能すぎてビビッた話
  • JSONバリデーションのまとめ

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    JSONバリデーションのまとめ
  • JerseyでJSONを扱うときは注意 - じゃばらの手記

    JAX-RSは素晴らしい仕様です。 しかし、その参照実装であるJerseyでJSONを扱うときには注意が必要です。 けっこうイヤな動きをします。 Listオブジェクトをエンコードしてくれない トップレベルのオブジェクトがListの場合、JSONにしてくれません。 他のオブジェクトのプロパティとしてListを持たせる分にはOKです。 Listの要素数でJSONでの型が変わる 要素数が0のとき⇒null 要素数が1のとき⇒要素そのもの 要素数が2以上のとき⇒配列 となります。 ・・・この仕様が嬉しい人いたら教えて下さい。 サンプル 文字列のListをJSONで返すコードを書いてみます。 直感的な動作は return Arrays.<String>asList(); のときは [ ] return Arrays.<String>asList("a"); のときは ["a"] return Arr

    JerseyでJSONを扱うときは注意 - じゃばらの手記
  • 1