A JSON Schema generator
$ dtsgen --help Usage: dtsgenerator [options] <file ... | file patterns using node-glob> Options: -V, --version output the version number -c, --config <file> set configuration file path. --url <url> input json schema from the url. (default: []) --stdin read stdin with other files or urls. -o, --out <file> output filename. -t, --target <version> Specify ECMAScript target version: 'ES3', 'ES5', 'ES2
CTO兼福岡オフィス立ち上げ担当として新アプリを作っている@edvakfです。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わってアプリがめっちゃクラッシュし始めた というのが怖くて誰もリファクタリングできなくなった APIドキュメントがメンテされない 知らない間にレスポンスのフィールドが増えてたけどドキュメントに書いてない これらを解決したい!と思って試行錯誤したら、スマートに解決することができました。この記事ではRailsのことについて書きますが、考え方は他の言語・フレームワークでも同じです。 なお、今回使ったgemのバ
今日、マイクロソフト本社から来た David さんとお昼ご飯をしたときに教えてもらえた彼のプロダクトが凄かったので紹介したいと思います。 quicktype.io quicktype JSON をペーストするとシリアライズ・デシリアライズするためのコードを出力してくれるサービスです。 例えば、以下のような JSON があるとします。 { "name": "Kazuki Ota", "age": 36, "pets": [ { "name": "hoge" }, { "name": "foo" } ] } ページに張り付けるとこういうコードが生成されます。 // To parse this JSON data, add NuGet 'Newtonsoft.Json' then do: // // using Sample.Models; // // var data = Person.Fro
はじめに JSON-Schema編集するの大変じゃない? クロスプラットフォーム向けにライブラリができるといいのかな? 少しツールについて調べてみよう、と思った次第。 そもそもの話 exampleのJSONから型定義出せればいいのでは? 型定義の形ってJSON-Schemaがあるけど TypeScriptにもなると嬉しいよね、ということで 少し相互変換に関して調べてみた。 JSONからJSON Schema https://github.com/krg7880/json-schema-generator 特筆することなし。 JSONからTypeScript http://json2ts.com/ JSON C# Class Generatorをベースに作られている?(構文が似ているから?) http://krrrr38.github.io/json-interface-builder/ T
こちらの記事はSpeee Advent Calendar 2016の17日目の記事です。 前日の記事は@yhatt のPostCSS は ポストCSS の夢を見るか?です。 今回は新卒エンジニアである私がJSON Schemaの入門的な記事を書かせていただきます。 はじめに そもそも JSON Schema とは何やねん! となる方も多いと思うので簡単に解説しておくと、 json-schema.orgによって開発されているJSON objectを記述したり検証したりするための設計書のようなものです。 この JSON Schema ですが, JSON Schema Core JSON Schema Validation JSON Hyper-Schema の3つの仕様があります。 今回は JSON Schema Core と JSON Hyper-Schema を使って一つのAPIの仕様を定
JSON Schemaを用いた各種ライブラリやMarkdown生成ツールなどが出てきているが、実際に運用しようとしたときに試行錯誤し、最終的に落ち着きそうな形が見えてきたので共有したい。 良さそうな書き方 ファイルを分割しない。するならHyperSchemaファイルごとに JSON (Hyper)Schemaファイルを書くと一瞬で行数が巨大化する。 そのため現状では、各Schemaファイルをツールにより結合して巨大な一枚のファイルに結合する方法があり、prmdが用いられているのをよく見る。 ただこれにはいくつか問題があり、 結合後のSchemaにより発生したエラーを追いにくい 各ファイルで定義されたSchemaを参照する際に、エディタなどの補助がなければ辛い をどうするかという話が出てくる。 全体を一枚のファイルで書くと、極めて原始的だが、参照性の問題や、 結合の方法が原因のエラーを考えな
{ "type": "object", "additionalProperties": { "anyOf": [ {"type": "string"}, {"type": "number"}, ], }, } import jsonschema schema = { "type": "object", "additionalProperties": { "anyOf": [ {"type": "string"}, {"type": "number"}, ], }, } valid_obj = { "key_a" : "value", "key_b" : 1, "key_c" : 1.1, } invalid_obj = { "key_a" : "value", "key_b" : 1, "key_c" : None, } jsonschema.validate(valid_obj, sch
TL;DR https://github.com/dameleon/structr JSONSchema draft v4のspecに沿ったJSONSchemaを入力すると、設定ファイルに記したtemplateを使ってJSONSchemaの構造を出力する 書いた、とは言ったもののまだテストもドキュメントも書き途中 motivation 最近、どんどん型になっていってる中で通信部分で受けたデータをstructにマップするような実装を毎回手書きで書くのはしんどくなってきておりガッとgolangで実装してみた。 golangにしたのは、いずれはWindows環境やweb上(gopher.js)でも動けばいいなーとか。(まだ何も試してない) templateはわりと柔軟に記述できるので、JSONSchemaを書く手間はあるもののわりとどんな言語でも出力できる。ただ、文字コードとか改行コードに関して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く