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
C++のJSONライブラリには、例えばpicojsonとかboost/property_treeとかいくつかのものがあるが、それらのライブラリの中でもnlohmann-jsonライブラリが使いやすさや完成度、使用実績の点で群を抜いている。 多くのプロジェクトで使われている人気のあるライブラリなのだが、日本語の記事があまりないので本家のreadmeから重要な部分を要約する形で紹介する。 githubページはこちら。 https://github.com/nlohmann/json この記事で使ったソースコード全体のgistはこちらにある。 https://gist.github.com/yohm/27d69509403b593778b2564e61bbc871 特徴 直感的なシンタックス ヘッダオンリー 標準C++11で書かれていて外部ライブラリへの依存無し homebrewでもインストール
The npm blog has been discontinued. Updates from the npm team are now published on the GitHub Blog and the GitHub Changelog. << Arborist Deep Dive >> Beta Release! One common question we’ve gotten a few times now, once we announce that npm v7 will include support for yarn.lock files, is “Why keep package-lock.json at all, then? Why not just use yarn.lock only?” The simple answer is: because yarn.l
WordPress6.1以降の各メジャーバージョンにおける変更点については、以下記事をご参照ください。 【WordPress6.1】theme.json の変更点 【WordPress6.2】theme.json の変更点 【WordPress6.3】theme.json の変更点 【WordPress6.4】theme.json の変更点 【WordPress6.5】theme.json の変更点 変更履歴 2023.03.20: title プロパティに関する説明を追加しました。(解説) はじめに WordPress5.8で、新しいツールである theme.json が導入されました。 これにより、テーマやブロックがサポートする機能・レイアウト・スタイルなどの多くを、このJSONファイル一つで一元的にコントロール出来るようになりました。 この theme.json は、WordPres
GoではJSONを扱うときでもしっかり型定義に当てはめて利用するのが一般的だ。 しかし、外部から受け取ったJSONデータは型に当てはめつつ併せて生データも保存しておきたいときがある。 Defind Typeをうまく使うとシンプルなUnmarshalJSON(data []byte)メソッドを定義できる。 type Event struct { ID string `json:"id"` Type string `json:"type"` Payload Payload `json:"pyload"` // 構造体にマッピングする前のJSONを保存しておきたい Raw json.RawMessage `json:"-"` } TL;DR 外部から受け取るJSONは構造が不意に変わることを想定したいときがある UnmarshalJSON(data []byte)メソッドを使うと独自のJSONパ
JSONはREST API呼び出し、データ保存、多言語との連携などに数多く使用されている。 一方で、JSONは言語でサポートされる表現が整数と浮動小数点数・文字列・配列・オブジェクト・そしてnull程度しかなく、それ以上に複雑な表現はこれらの基本機能を組み合わせて表現することになる。 機能の組み合わせ方には複数の方法があり、特に複数の型の構造体やクラスが混在する時の表現形式は複数ある。 Rustでは、表現したいデータ型が既知であれば、複数の型のうちどれかであることを表現するために列挙型が使える。 そして、Rustのシリアライザ・デシリアライザのライブラリであるserdeを用いて、列挙型とJSONの相互変換をすることができる。 列挙体の4種の表現 serdeで取り扱える列挙体の表現形式は4種類ある*1。 それぞれexternally tagged、internally tagged、adja
Rails で JSON を返す API サーバーを開発する際に、 選択肢となるシリアライズ方法をまとめてみました。 それぞれ Pros/Cons や好みがあると思います。 こういう選択肢があるんだよっていうのを提示できればいいかなーと思っています。 みんながどれを使ってるかアンケートとかも取ってみたい👨💻 (※記事の最後に載せました) スキーマ サンプルとしてTwitterをモデルにする。 User と Tweet のテーブルを作成する。 create_table :users do |t| t.string :name, :null => false t.string :screen_name, :null => false # @で始まるユーザー名 t.string :description # 自己紹介 t.integer :friends_count, :null => f
The latest release of Deno introduced a significant change: providing enhanced Node and NPM compatibility through package.json support. This update led to questions regarding whether our priorities have shifted, as Deno has long been associated with forging a path distinct from Node. Indeed, package.json was explicitly mentioned as a regret in the first Deno presentation. Thus, many users were sur
JavaScript Object Notation の略です。 RFC7158 と ECMA-404 1st edition では若干仕様の差異がありましたが、2017年12月に仕様の統一が行われ、RFC 8259, IETF STD 90, ECMA-404 2nd edition で再規定されました。 MIMEタイプは application/json。拡張子は .json。 JavaScript のデータ定義文をベースとした、簡易的なデータ定義言語です。 JavaScript だけではなく、Java, PHP, Ruby, Python など、様々な言語間のデータ交換、特に Ajax や REST API などで使用されています。 これまでは、共通データ定義言語として XML が利用されてきましたが、現在では、簡易的な JSON が利用されるケースが増えてきています。 子要素がひと
Google Cloudは、大規模データ分析サービスのBigQueryにおいてJSON型データへのネイティブ対応機能をパブリックプレビューとして公開しました。 Big news: BigQuery now natively supports semi-structured data. Now you can write to #BigQuery without worrying about schema changes from your upstream data pipeline. Learn more about this public preview for the BigQuery native JSON data type ↓https://t.co/4RU3TDqIOw — Google Cloud Tech (@GoogleCloudTech) January 6, 202
Processing large JSON files in Python without running out of memory by Itamar Turner-Trauring Last updated 06 Jan 2023, originally created 14 Mar 2022 If you need to process a large JSON file in Python, it’s very easy to run out of memory. Even if the raw data fits in memory, the Python representation can increase memory usage even more. And that means either slow processing, as your program swaps
package.json に記載されているパッケージのバージョンアップ方法 【 npm-check-updates, outdated 】npmnpm-check-updates はじめに package.json に記載されているパッケージのバージョンアップには npm-check-updates というツールがとても便利なので紹介したいと思います。 結論 package.json に記載されているパッケージのバージョンアップ方法は以下の 2 つの方法があります。 方法 1 : npm outdated コマンドを使う npm outdated コマンドを実行し、アップデート情報を確認して、パッケージをひとつひとつ丁寧にアップデートする 方法 2 : npm-check-updates パッケージをつかう ← おすすめ! npm-check-updates パッケージを利用して、アップデ
こんにちは。SI部の r_maeda です。 みなさん、FactoryBot gem はご存知でしょうか? https://github.com/thoughtbot/factory_bot FactoryBot は、Ruby オブジェクトを生成するための factory を、簡単な DSL で定義できる gem です。 RSpec gem と共に、Ruby (on Rails) で書いたアプリケーションのテストコードを書くために広く利用されている gem の1つではないでしょうか。 この FactoryBot gem ですが、生成できるオブジェクトは ActiveRecord モデルのインスタンスだけではありません。任意のクラスのインスタンスを生成することが可能です。 そんな FactoryBot gem の面白い使い方を発見したので、ご紹介したいと思います。 JSON 文字列を生成する
The ECMAScript modules system (import and export keywords) by default can import only JavaScript code. But it's often convenient to keep an application's configuration inside of a JSON file, and as result, you might want to import a JSON file directly into an ES module. For a long time, importing JSON was supported by commonjs modules format. Fortunately, a new proposal at stage 3 named JSON modul
webpack を使っていると typescript の module 指定は、ESM を treeshake するために "module": "esnext" としたい。 しかし、ts-node を前提としたユーティリティスクリプトを作っていると、"module": "commonjs" としないと実行に失敗するようになってしまう。ts-jest も同様。 ts-node に関しては、引数で compilerOptions を書き換える方法があり、次のようになる。 yarn ts-node -O '{"module":"commonjs"}' script/x.ts これだと常にこの引数を付けて実行する必要があり、不便。 ts-loader の configFile TypeStrong/ts-loader: TypeScript loader for webpack をちゃんと読むと、
JSONの取得方法 JavaScriptでJSONを外部から取得する際にはfetch()命令が利用できます。今回は特別なパラメーターやヘッダーを送る必要も無いため、JSONがある場所のURLを第一引数に指定して利用します。また、取得に成功した際の処理を関数(このケースでは無名関数)で指定します。 なぜfetchでは成功したときの処理を関数で指定するか、理由の一つは非同期処理だからです。非同期にしておくことでfetchの成否や完了に関わらず、次の処理に進めることができます。また、fetchによるJSONの取得が終わり次第、指定した関数が非同期的に処理されます。 取得結果をHTML側に反映する DOM技術を使って画面に天気予報の情報を書き出します。今回はHTML側をTABLEタグで構成しており、行単位でID名を振ってあります。そこで行のID名を元に、情報を反映したいセルを特定します。 例:「発
WordPress6.1以降の各メジャーバージョンにおける変更点については、以下記事をご参照ください。 【WordPress6.1】theme.json の変更点 【WordPress6.2】theme.json の変更点 【WordPress6.3】theme.json の変更点 【WordPress6.4】theme.json の変更点 【WordPress6.5】theme.json の変更点 変更履歴 2023.03.20: title プロパティに関する説明を追加しました。(解説) はじめに WordPress5.8で、新しいツールである theme.json が導入されました。 これにより、テーマやブロックがサポートする機能・レイアウト・スタイルなどの多くを、このJSONファイル一つで一元的にコントロール出来るようになりました。 この theme.json は、WordPres
はじめに JSON 形式の Web API とは Laravel で JSON を返す基本的な実装 JsonSerializable インタフェースを使う JsonSerializable を使うと便利な点 想定外の例外が発生した場合の対応 Laravel デフォルトのエラー画面 Laravel のレスポンス形式は Accept ヘッダで決まる Laravel デフォルトのエラーハンドリングの実装 エラーハンドラの実装を変更したい場合 render メソッドを修正して想定した Json を返すように その他の修正例 shouldReturnJson メソッドを修正して常に JSON を返すようにする prepareJsonResponse メソッドを修正して JSON のフォーマットを変更する まとめ はじめに この記事は、 Laravel アドベントカレンダー 4日目の記事です。 他にも
この記事は Mackerel Advent Calendar 2020 2日目の記事です。 はじめに 皆さんはmackerel-plugin-jsonを使っていますか? 個人的にはかなり好きなプラグインなのですが、2017年に書かれたMackerel プラグインアドベントカレンダー以外ではあまり解説されていませんでした。 soudai.hatenablog.com この記事よりも後に追加された機能を紹介している記事も見当たらなかったので、今回はそれらに絞って紹介していきます。 前回実行したときの結果との差分を投稿する-diffオプション -diff オプションの後に正規表現を書くと、その正規表現にマッチしたメトリックに対して前回の実行時からの差分をMackerelに投稿することができます。 アプリケーション内に単調増加するカウンターとその値をJSONで返すエンドポイントを実装しておくことで
結論 v4.16.0以降のExpressを使用している場合は、express.json()が使える。 はじめに Expressでクライアント経由からデータを会得する場合、Body-Parserをインストールしてreq.body経由でデータを会得するのが一般的でした。 しかし、現在のExpressには、Body-Parserの機能が標準で搭載されていることを知りました。それがexpress.json()です。 express.json()とは Express 4.x - API リファレンス Body-Parserを基にExpressに組み込まれた機能です、クライアントから送信されたデータを、req.body経由で会得、操作できます。 This middleware is available in Express v4.16.0 onwards. 4.16.0以降のバージョンに搭載しているの
特定のバージョンのNode.jsでしか動かしてほしくないパッケージがある場合、package.jsonのenginesフィールドに、Node.jsのバージョンを明記しておくと、yarn installやnpm installしたときに警告を表示できるようになる。 実行環境のバージョンを固定したいときに便利。 例: Node.js 12だけに限定したい場合 例えば、Node.js 12で実行してほしい場合、次のようにenginesフィールドをpackage.jsonに追加する: { "name": "my-module", "version": "1.0.0", "main": "index.js", "license": "MIT", "engines": { "node": "12.x" } } この設定で、Node.js 13環境下でyarn installすると、エラーを起こすことが
外部サイトの RSS フィードを取得して表示したいってことたまにありませんか? 取得するだけなら簡単ですが, xml を json に変換するのが結構手間だったりしますよね. 今回は, そんなときに便利な『rss to json』というサービスについて紹介したいと思います. Zenn の RSS フィードを取得して表示するサンプルも作ったので良かったら参考にしてください. 『rss to json』とは 『rss to json』とは, その名の通り rss を json に変換してくれるサービスです. rss のフォーマットである xml ってわかりやすいですが, JavaScript で使おうと思うと結構不便だったりしますよね. それを簡単に変換してくれる便利なサービスです! 基本は Web 上で使うサービスなんですが, なんと API も提供してくれています! 今回はその API ベ
本日はNext.jsでローカルのJSONファイルからデータを読み取って表示する方法を示します。 Next.jsの事前レンダリング ページ制限 セットアップ JSONデータの作成 データの取得 getStaticPropsを使用せずに静的JSONデータをローカルで取得 最後に サーバー側のレンダリングや静的Webサイトの生成などの追加機能に関して、Next.jsは非常に興味深いものです。 これは、バックエンドをコーディングしたり、データベースのセットアップや接続に時間を費やしたりすることなく、小さなWebアプリをすばやく構築したい場合に非常に役立ちます。 Next.jsの事前レンダリング Next.jsはいくつかの異なるデータ取得戦略を提供しています。 それらは下記の通りです。 ・クライアント側のレンダリング(CSR) ・サーバー側レンダリング(SSR) ・静的サイトレンダリング(SSG)
Twitch: https://www.twitch.tv/tsoding GitHub Repo: https://github.com/tsoding/haskell-json My Haskell Setup: https://www.youtube.com/watch?v=5p2Aq3bRuL0 Unusual video this time. This is a slightly edited recording of my Twitch stream. Initially I planned to make a regular video on this topic, but quickly realized that it's just way too much material for a single regular 10 minutes video. So I dec
はじめに 前回の記事でAWS CLIコマンドのJSONデータをjqコマンドで操作したら大変便利だったので紹介します。 jqコマンドとは JSONデータをsedやgrep、awkのようにデータ抽出、変換、集計してくれるツールです。 AWS CLIのの出力形式は、複数の出力形式がサポートされていますが、デフォルトではJSONで出力されます。 AWS CLIでも--filtersや--queryを使えば抽出や変換できますが、AWS CLI以外のJSONデータ(公開されている様々なAPIが、ほぼJSONで出力)を操作するとき、jqコマンドのようなツールを覚えておくと便利かなと考えました。 公開API(例) 使い方 jqは各種OSにインストールして利用できます。今回はmacOS Catalinaにインストールした環境で操作していきます。 バージョン確認コマンドが出力されればOKです。 % jq --
はじめに JSONにコメント書きたいというのは全人類の共通の悩みです。 Terraformでインフラコードを管理するメリットの1つは、設定値にコメントが書けることですが、設定値がJSONを受け付けるようなリソースの場合は、なぜその設定値になっているのか、JSON内部の各パラメータにコメントを書きたすぎる問題が発生します。 たとえば、AWSのECSタスク定義とか複雑めなJSONで、環境変数とかパフォーマンスチューニング系のパラメータがなぜこの値になってるのかとか、JSONの中にコメント書きたいじゃないですか。 この記事ではTerraformでJSONにコメントを書きたいみんなのために、いくつかの方法を紹介します。 環境 手元の環境は以下のとおりです。
WordPress のテーマ(クラシックテーマ)に theme.json を追加したら何が起きるのか? を調べていたところ、DOM の構造や適用される CSS の変化など、思った以上にたくさんの影響が起きていました。 影響(全 28 項目 + すべてのテーマに影響する 1 項目)と、その影響が起きる条件(トリガーとなるもの)は一覧表にしてこの記事の最後に掲載しました。 これだけあると、影響を受けないテーマを探す方が大変です。 そのため、個々の影響の詳細や対策方法については、実例と合わせて『WordPress ノート クラシックテーマにおける theme.json の影響と対策 2023』にしっかりとまとめましたので、参考にしてください。 何が起きるかを調べようと思ったきっかけ 現在の WordPress ではブロックテーマがスタンダードとなり、theme.json で機能の有効化やレイアウ
みなさんこんにちは! JSONファイルは正しく扱えていますか?PythonでJSONを出力の際、文字化けしてしまったり、datetime型がうまく扱えずにエラーがでてしまったり、エンコード問題に悩まされたりしていませんか? 今日はそんな方たちのために、JSONのdumpsについて詳しく見ていきたいと思います! json dumpsとは さて、実際にdumps関数をのどのように使うのか見ていまえに、そもそもdumps関数がどんなものかということについて見ていきます。 dumps関数とはデータをJSON形式にエンコードすることのできる関数です。jsonライブラリでは、loads関数がデコード、dumps関数がエンコードとなっています。 エンコードとはデータを別の型に変換してくれることで、デコードとはエンコードされた型をもとに戻すことです。 loads関数や、そもそもJSONが何か怪しいという方
はじめに 現在のChrome拡張機能のマニフェストのバージョンはV2とV3がありますが、こちら によると、 - 2022/1/17 でmanifest v2で新規公開はできなくなる - 2022/6でmanifest v2で非公開でも新規登録はできなくなる - 2023/1で例外を除き,既存のmanifestV2の機能は動かなくなる - 2023/6でmanifestV2は例外なく動かなくなる とのことなのでよっぽどの理由がない限りV3を今後は使うことになります。 V2で書かれた情報の記事はいっぱいあったのですが, V3の記事はあまりなかったので自分用メモも兼ねて整理しようと思います。 manifest.jsonの基本設定 manifest_version 拡張機能自体のバージョンではなく、マニフェストのバージョンです。 ここはとにかく 2 ではなく 3 にしておきましょう!
こんにちは。エクセルソフトの田淵です。 私は API Management ツールの Kong も担当していて、デモやサンプルの作業をする時には API へのアクセスが必要になります。 今までは httpbin を使っていました。普段使いであればこれで十分なのですが、大量の JSON を参照したい時などに少し困ります。自前で立てるのも大変ですし。 そんな時に たった30秒でREST APIのモックが作れる JSON Serverでフロントエンド開発が捗る - WPJ ← こんな記事を見つけました。 JSON Server とは OSS の REST APIのモックが作れる npm package です。(ほぼ上記の記事を読めばすべて書いてあるのですがw GitHub は typicode/json-server: Get a full fake REST API with zero cod
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く