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を扱うことになりました。どこぞのサーバがWeb-serviceをホストしてて、サービスとのやりとり(リクエストとその応答)がJSONで行われるらしく、C++でJSONを読み取る方法をリサーチしてくれとのこと。 Web-serviceのインターフェースはXMLがよく用いられますが、近頃はJSONが増えてきたみたいです。JSONはXMLに比べフォーマットが単純で伝文がコンパクト、軽量インターフェースなのでスマホのような(デスクトップ機よりは)非力なクライアントでも楽に扱えますからね。そんなわけでC++でJSONを扱うべくリサーチを始めました。 JSONの構造 JSON:JavaScript Object Notation(JavaScriptオブジェクト記法)、RFC4627(PDF)で規定されています。英文とはいえ10ページにも満たない小さな規格ですからさほどの苦労もなく理
はじめに JSON(JavaScript Object Notation)形式のデータは、XML形式よりもシンプルな記法でデータ構造を記述できることから、Webサービスで広く用いられています。 JSONはJavaScriptのオブジェクトのリテラル表現がもととなっているため、JavaScriptではそのまま読み書きすることができます。一方、C#などの.NET Framework上の言語では、JSONデータをいったん.NETのオブジェクトに変換した上で処理を行う必要があります。 この記事では、.NET Frameworkの言語からJSONデータを読み書きするためのライブラリとして、.NET Framework標準のDataContractJsonSerializerと、CodePlexで公開されているDynamicJsonを取り上げ、それぞれの使用方法について解説します。特にDynamicJ
Jaql(a query language desired for JSON:JSON用に位置づけられたクエリ言語)は、JSON型式のデータを処理するためのクエリ言語で、Apache HadoopのMapReduceを処理するための実装が存在します。日本語では「じゃっくる」と発音します。ジャッカルに似ているため、一部のサイトにはジャッカルの写真が掲載されていました。 もともとはIBMのアルマデン研究所で研究・開発され、オープンソースへ提案されました。本原稿執筆時点では、Apache Incubatorプロジェクトになっており、Google Codeのサイトで開発が進められています。 IBMアルマデン研究所のサイト Apache Hadoop用実装のダウンロードサイト 本記事執筆時点では、つい先頃リリースされた、Jaql 0.5.1をベースに解説しています。 1. JSONの基礎 JSON(
secretGeek JavaScriptではJSON形式でデータを保持しておくことが多い。シンプルで扱いやすく、evel()で評価するだけでオブジェクトとして取り込むことができる。入出力も簡単で、JavaScript以外の言語でもJSON形式のデータを扱う機会が増えている。 このJSONデータを操作するためのエンジンのひとつにJSONクエリエンジン、またはJSONクエリ言語、JSONクエリライブラリと呼ばれるものがある。JSONデータから特定のデータを抜き出して別のJSONオブジェクトを生成するといったもので、ブラウザ側でデータの整形をする場合などに利用できる。たとえばサーバからデータをJSON形式でダウンロードしておき、実際に表示するデータは条件に応じてJSONクエリエンジンが選別したものを表示する、といった使い方ができる。 JSONクエリエンジンが採用しているクエリ言語は多種多様だ。
“動物図鑑”で知るCouchDBの特徴:ゆったリラックス! CouchDBがあるところ(1)(1/3 ページ) ドキュメントを手軽にWebで公開したいとき、リレーショナルデータベースで実装することに違和感を覚えることはありませんか? CouchDBはそのようなニーズに合った、新しいデータベース管理システムです。CouchDBを知り、リラックスしながら実装をしていきましょう(編集部) CouchDBとは? CouchDB(カウチDB)はドキュメントをデータとして管理し、Webで公開することに最適化されたデータベース管理システムです。CouchDBの“ドキュメント”は報告書、仕様書、議事録といった文書や、名刺、プロフィールといったデータの集合のことを指しています。また、JavaScriptのソースコードをドキュメントの一部として配置することも可能です。 OSSとして一般へのリリースが始まったの
XMLやJSON(P)形式でデータを得られるWebサービス(API)がここ数年で充実し、外部のサイトのさまざまなデータを簡単に利用できるようになりました。特にJSONP(JavaScript Object Notation with Padding)形式でデータを取得できれば、サーバー側に通信プログラムを置く必要がなくなり、ユーザー(Webブラウザー)側のJavaScriptだけで通信処理をこなせるので便利です。 ただ、Webサービスによっては、XML形式でしかデータを提供していない場合もあります。そんなときには、米ヤフーが提供する「Yahoo! Pipes」の出番です。Yahoo! Pipesは複数のフィードを束ねる“フィードアグリゲーター”として知られていますが、XMLをJSONPに変換する機能もあるのです。Yahoo! Pipesを使えば、XMLしか提供していないWebサービスも、J
JSONP が Opera だと非同期処理できない http://d.hatena.ne.jp/secondlife/20060906/1157515075 に書かれているとおりOperaだとscript要素を足した瞬間にJavaScriptの実行が止まって、ロード完了まで後続のスクリプトが実行されなくなります。 サンプル http://la.ma.la/misc/js/opera_jsonp_test.html そこで、リクエストの度にダミーのIFRAMEを作って、そのIFRAME内のcontentWindowで実行するという方法を試してみました。 IFRAME内でJSONをロードするサンプル http://la.ma.la/misc/js/iframe_jsonp_request.html なんかIEで動かないっぽいけど気にしない。相変わらずタイマーは停止しますが、appendChil
プルダウン・メニューからストアを選択した上で、キーワードを入力し、検索ボタンまたはEnterを押してください。 About このページはAmazon.co.jpから商品を検索するページです。Amazon Web ServicesのXSLT for RESTを利用してレスポンスのXMLをJSONに整形し、それをJavaScriptでHTMLとして出力しています。つまりPerlやPHP、Python、Rubyなどのサーバー・サイドのスクリプト言語は一切利用していません。 検索条件(ストア及びキーワード)はURLのハッシュに保存されます。ハッシュ付きのリクエストの場合は自動的に検索するようになっているので、検索結果をブックマークすることもできます。 Download itemsearch.xslをダウンロード similaritylookup.xslをダウンロード Bugs よくわからないエラー
JSON and the Dynamic Script Tag: Easy, XML-less Web Services for JavaScript December 21, 2005 Jason Levitt Making requests to third-party web services from an AJAX application is a pain, but new web services that offer the option of returning JSON (JavaScript Object Notation) instead of XML can provide significant relief. In fact, if you make web services requests using the dynamic script tag appr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く