<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <dfn>JSON API</dfn> とは、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">入力</anchor>や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出力</anchor>に使った <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API</anchor>
(主に <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor>) です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> は色々な形で使われます。使い方や他の形式との併用に特に制約はありません。<figure class="list middle"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP要求</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">入力</anchor>)<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体</anchor>として</li><li><code class="MIME" xml:lang="en">application/x-www-form-urlencoded</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">引数</anchor>の値として</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の値として</li></ul></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP応答</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">出力</anchor>)<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">本体</anchor>として</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">NDJSON</anchor> として</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ヘッダー</anchor>の値として</li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトデータブロック</anchor>として</li><li><code class="HTMLa" xml:lang="en">data-<var>*</var></code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">属性値</anchor>として</li></ul></li></ul></figure></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拡張子</anchor>に <code>.json</code> を使うなどして <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON API</anchor>
であることを明示する場合もありますが、そうしなければならないわけではありません。</p><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> の発明以来、その <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor> や<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サーバー</anchor>側各言語での扱いやすさから、
多くの <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor> で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> が採用されるようになりました。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">XML</anchor> や独自形式などは次第に使われなくなり、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>
が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">データ形式</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事実上の標準</anchor>となりました。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor> 形式の <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor> を <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON API</anchor> といいますが、
今となってはほとんどあらゆる <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Web API</anchor> が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON</anchor>
を使っているので、敢えて <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JSON API</anchor> と呼ぶ必要のある場面もそれほど多くなさそうです。</p></section></body></html>