タグ

jsonに関するmas-higaのブックマーク (14)

  • JSON をプレビューしながら jq のフィルタを書くことができる「jnv」を試してみる

    ちなみに jq がインストールされている必要はありません。 jnv does not require users to install jq on their system, because it utilizes j9 Rust bindings. https://github.com/ynqa/jnv#installation JSON navigator and interactive filter leveraging jq Usage: jnv [OPTIONS] [INPUT] Examples: - Read from a file: jnv data.json - Read from standard input: cat data.json | jnv Arguments: [INPUT] Optional path to a JSON file. If not prov

    JSON をプレビューしながら jq のフィルタを書くことができる「jnv」を試してみる
  • JSONの差分を取ってJSON Patchを得るにはdiffsonがおすすめ - Lambdaカクテル

    こういうツイートを見た。 Scala (or Java) で、jsonのdiffをpatchファイルみたいな感じでわかりやすいテキストで出力してくれるライブラリないかなあ。そしてjacksonに依存してないといいな— Arthur (@Arthur1__) 2024年1月13日 現代のプログラミングではJSONの差分を取ったり、逆にパッチを当てるということがよくある。可能ならそれがPretty Printできると良い。 JSONの差分をScalaで取る方法についていくつか調べてみたのでメモ。 JSONの差分をどう表現する? JSON Patch diffson diffsonでJSON Patchを生成する diffsonでJSON Patchを適用する diffsonでJSON Merge Patchを生成する diffsonでJSON Merge Patchを適用する JSON Pat

    JSONの差分を取ってJSON Patchを得るにはdiffsonがおすすめ - Lambdaカクテル
  • Newtonsoft.Json から System.Text.Json へ移行したら JSON のデシリアライズが失敗した

    開発チームの川江です。Cosmos DB を多用する関係で、JSON のシリアライズ・デシリアライズを行うコードを近頃よく書いています。 C# で JSON を扱う場合のライブラリは、以前は Newtonsoft.Json (Json.NET) が定番でしたが、今では .NET 標準の System.Text.Json 名前空間を使えるようになりました。しかし既存のコードを移行する場合、両者の振る舞いの違いに注意が必要です。実際の移行時に、Newtonsoft.Json だと問題なくデシリアライズできていたクラスが、System.Text.Json にしたら例外が出るようになった、という問題がありました。 System.Text.Json ではデシリアライズに失敗するケース 分かりやすくするため、以下のシンプルな JSON を例にします。

    Newtonsoft.Json から System.Text.Json へ移行したら JSON のデシリアライズが失敗した
  • パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)

    jq(https://stedolan.github.io/jq/)の紹介では、「JSON処理のワンライナー〈一行野郎〉としてめちゃくちゃ便利!」とアピールするのが定番です。もちろんそれは当で、「めちゃくちゃ便利!」です。が、実は jq は、ワンライナー記述にとどまらない、かなり格的なプログラミング言語です。 JSON処理のためのDSL〈Domain Specific Language | 領域特化言語〉なので、汎用言語ではありません。しかし、汎用言語が備えている言語機能の一部(関数定義、モジュールシステムなど)を jq も持っています。また jq は、独特で楽しいプログラミング・パラダイム -- “パイプライン指向”に基づいて設計されています。 この記事では、ワンライナーを超えた jq の使い方と、プログラミング言語としての jq の特徴を紹介します。長い記事になってしまったので、一

    パイプライン指向JSON処理プログラミング言語 jq - 檜山正幸のキマイラ飼育記 (はてなBlog)
  • jq.el というライブラリを作って学んだこと - Qiita

    この記事は Emacs Advent Calendar 2020 の 8 日目の記事です。 こんにちは。 普段は {Python,Ruby,Vue,React} あたりで Web アプリケーションを書いたり、機械学習などをしている Emacser です。 趣味は日語で、好きな言語学者は高橋太郎先生や三浦つとむ先生です。 今回はちょっと前に作った jq.el について書いてみます。 僕個人は Advent Calendar で何か作ってみた系の記事は正直興醒めしてしまうタチなのですが、他にネタを思いつきませんでした、申し訳ありません せっかくなので jq.el を作って公開した上で得た学びについても書きたいと思います。 jq.el について 名前からお気付きの方も多いと思いますが jq.el は CLI 向け JSON 処理系の一つである jq の Emacs Lisp binding で

    jq.el というライブラリを作って学んだこと - Qiita
  • 非数をJSONに入れようとするとどうなるか - Qiita

    JSON には非数(NaN)は入れられない。入れられるフォーマットになっていないので仕方ない。 無限大も入れられない。入れられるフォーマットになっていないので仕方ない。 仕方ないんだけど、入れようとしたらどうなってしまうのか、各言語の対応を見ていく。 Ruby まずはソースコード: require "json" def test(e) print( e.inspect, ":" ) begin puts([e].to_json) rescue=>e p e end end test( Float::NAN ) test( Float::INFINITY )

    非数をJSONに入れようとするとどうなるか - Qiita
  • JSONが対応していない値(NaN/Infinity/Date等)をJSONに保存する方法

    extendJSON.md JSONが対応していない値をJSONに保存する方法 JSONは NaN / Infinity / -Infinity や Date 型等に対応していない。 しかし、JavaScriptのJSONは、これらを解消する仕組みを持っている。 それは JSON.parse の第二引数の reviver とJSON.stringify の第二引数の replacer だ。 注意が必要なのは、 Date 型は toJSON メソッドを持つため replacer に値が渡る前に文字列になってしまうこと。 これに対応するには toJSON メソッドを一時退避してしまえば良い。 これらを上手く駆使すれば、JSONに型を保ったまま値を保存し復元することができる。 こんな感じ。 var original = { 'nan': NaN, '+inf': Number.POSITIVE_

    JSONが対応していない値(NaN/Infinity/Date等)をJSONに保存する方法
  • Ruby 2.4 でもビルドできる json-1.8.5 がリリースされた - HsbtDiary(2017-01-12)

    Ruby 2.4 でもビルドできる json-1.8.5 がリリースされた https://github.com/flori/json/issues/303 でリリースされたよ、という通知を受けて気が付いた。 https://rubygems.org/gems/json/versions/1.8.5 2.4 リリースされてから、延々と json-1.8.3 のビルドエラーで死んでいた問題は、Integer Unification に対応した 1.8.5 で解決されるはず。ただ Rails 4.2 については、ActiveSupport の修正も必要なんでこれだけで全てがうまくいくわけではないけど、Rails に関係ないところで発生している多くは解決するはず。 それはともかく、stdlib なライブラリを dependency に追加するのは多くの場合で意味がありません。json 2.x

    Ruby 2.4 でもビルドできる json-1.8.5 がリリースされた - HsbtDiary(2017-01-12)
    mas-higa
    mas-higa 2017/01/13
    感謝!
  • DSLでAPIを書きたい!!APISchemaでらくらくAPI生活をはじめよう - hitode909の日記

    この記事は,はてなエンジニアアドベントカレンダー2015の5日目です. 前日はこの記事でした.スクリーンショットで振り返る・はてなブログ記事編集画面デザインの歴史 - Hatena Developer Blog 最近作った(といっても去年から作っている…),APISchemaというライブラリをご紹介します. APISchemaとは BMIを計算しよう スキーマを書こう メタデータ リソースの定義 エンドポイントの定義 スキーマを使う スキーマのパース ルーターを生成して,ルーティングをおこなう リクエストのバリデーションをおこなう レスポンスのバリデーションをおこなう APIのドキュメントを配信する 採用実績 関連 JSON Schema 便利グッズ まとめ APISchemaとは APISchemaは,DSLでHTTP APIの定義を書けるものです.以下のような機能を持っています. AP

    DSLでAPIを書きたい!!APISchemaでらくらくAPI生活をはじめよう - hitode909の日記
  • YAML と JSON どっちが速いの - ちなみに

    最初に (tl;drなんて言わないぞ) 結論からいうとJSONの方が10倍速かった。 概要 基的にマスタデータはYAMLで管理するようにしているのだけれどなぜかJSONでプルリク貰ってイライラしながらベンチとって証拠にしようとしたら予想と逆だった。一定以上のサイズになるとYAMLが逆転するものだと思っていた。 ベンチ結果 以下のようなファイルを読み込む。 ➜ ls -lh story.yml story.json 2.1.2 11:30:20 -rw-r--r-- 1 tomohiro staff 13K 7 17 11:15 hoge.json -rw-r--r-- 1 tomohiro staff 11K 7 17 11:15 hoge.yml 結果は以下のようになった。JSONの方が10倍くらい速い。圧倒的過ぎてなんとも言えない。 Rehearsal ---------------

    YAML と JSON どっちが速いの - ちなみに
  • jq コマンドが強力すぎてヤバい件

    JSON の内容を sed や awk のようにフィルタ・加工するためのプログラムに jq がある。 JSON 形式で提供されている WebAPI の出力や、ログの内容を扱うのにとても便利。 その強力さの一端を紹介したい。 インストールは Mac OS X であれば Homebrew から。公式サイトからバイナリをダウンロードすることもできる。 $ brew install jq サンプル用の JSON を用意しておく。 $ cat << EOS > jsonfile {"name": "Foo", "sex": "Male", "age": 15, "emails": []} {"name": "Bar", "sex": "Male", "age": 20, "emails": ["hoge@example.jp"]} {"name": "Baz", "sex": "Female", "

    jq コマンドが強力すぎてヤバい件
  • JSONに押されるXMLの存在

    Web関連のAPIからXMLが削除され、JSONが主流になりつつある。Norman Walsh氏のブログに11月17日にポストされたエントリ「Deprecating XML」は、そのような書き出しで始まっています。 Someone asked me recently what I thought about XML being removed from the Twitter streaming API. Around the same time, I heard that Foursquare are also moving to a JSON-only API 誰かが最近僕に聞いたんだ。Twitter Streaming APIからXMLが削除されたけど、どう思う? って。そういえばFoursquareもJSONだけのAPIへ移行したと聞いたけど。 JSONはXMLよりシンプルで、基

    JSONに押されるXMLの存在
    mas-higa
    mas-higa 2012/11/08
    XML はオワコン!?
  • Rubyやってみる!(新おっぱいスクリプトもあるぉ) - ゆーすけべー日記

    プロジェクトRuby on Rails使うっていぅんで 「アジャイルWebアプリケーション開発」なんて買ってチュートリアルとかやってます。 ただ、Ruby自体なにも分からないので、Rails覚えてもどれだけできるかがよく分からなす。 ってことでRubyを勉強する!と先ほど書いてみた4つのスクリプトをご紹介。間違ってたらツッコミよろしくおくんなまし。 とはいえ簡単なやつだよ!でも新しいおっぱいダウンロードスクリプトもあるよ! open-uri.rb まずは、Perlで言うLWP的なもの、つまりHTTPクライアントでこの日記のHTMLを取得してみるよー。 あら、簡単だねっ。 require "open-uri" html = open("http://yusukebe.com/").read; p html twitter-search.rb お次に「お得意の」APIを叩く系をやってみる

    Rubyやってみる!(新おっぱいスクリプトもあるぉ) - ゆーすけべー日記
    mas-higa
    mas-higa 2012/05/21
    これはまた Ruby の普及に貢献しそう。
  • WebMemcacheというWebサービスを作った - hitode909の日記

    MemcachedみたいにキャッシュしてくれるWebサービスがあれば便利そうだと思ったので,作ってみた. おもむろにHTTPアクセスすると,JSONをくれる. set, get, delete, statsのAPIがある.使い方は上のリンク先に書いた.リンク先のコードをクリックするとその場でXHRして試せる. キャッシュなので,Webページから使って便利みたいな感じじゃなくて,何かキャッシュを利用したいプログラムから使う. Rubyから値を複数setして同じ値をgetする例.このように,複数同時に操作できる. require 'net/http' require 'open-uri' http = Net::HTTP.new('webmemcache.appspot.com') response = http.post('/set', 'pi=3.14&e=2.7&namespace=te

    WebMemcacheというWebサービスを作った - hitode909の日記
    mas-higa
    mas-higa 2010/03/26
    これはおもしろい。と思ってコードみたら Python だった。いや、なんとなく解るけど。
  • 1