「JSON」の版間の差分
imported>Administrator 編集の要約なし |
Administrator (トーク | 投稿記録) 編集の要約なし |
||
| (2人の利用者による、間の2版が非表示) | |||
| 1行目: | 1行目: | ||
'''JSON'''(じぇいそん、'''J'''ava'''S'''cript '''O'''bject '''N'''otation)とは、[[JavaScript]]における[[オブジェクト]]の表記法をベースとした全てテキストで書く軽量なデータ交換フォーマットのことである。 | '''JSON'''(じぇいそん、'''J'''ava'''S'''cript '''O'''bject '''N'''otation)とは、[[JavaScript]]における[[オブジェクト]]の表記法をベースとした全てテキストで書く軽量なデータ交換フォーマットのことである。 | ||
==概要== | |||
ジェイソンといっても13日の金曜日シリーズのジェイソン・ボーヒーズとは一切関係ない。なおジェイソン・ボーヒーズはチェーンソーを一度も使ったことが無いらしい。 | ジェイソンといっても13日の金曜日シリーズのジェイソン・ボーヒーズとは一切関係ない。なおジェイソン・ボーヒーズはチェーンソーを一度も使ったことが無いらしい。 | ||
テキストベースのデータ交換フォーマットと言えば[[XML]]が有名だが、JSONは大雑把な[[データ型]]をあらかじめ定義することで、XML並みの汎用性はないが、簡潔明瞭(データサイズが小さい=通信量を減らせる)に書けるようになっている。 | テキストベースのデータ交換フォーマットと言えば[[XML]]が有名だが、JSONは大雑把な[[データ型]]をあらかじめ定義することで、XML並みの汎用性はないが、簡潔明瞭(データサイズが小さい=通信量を減らせる)に書けるようになっている。 | ||
また、[[JavaScript]]であれば標準で用意されているeval関数一発で[[オブジェクト]]に変換できて手軽だね、ということで[[Ajax]]でのデータ交換フォーマットとして広く利用されるようになった。 | |||
なお、JSONは名称に[[JavaScript]] | なお、JSONは名称に[[JavaScript]]とあるが、ただの[[テキスト]]なので[[JavaScript]]以外の[[プログラミング言語]]でも比較的簡単に扱える。 | ||
現状の多くのシステムでは[[サーバーサイド]]に[[PHP]]や[[ASP.NET MVC]]などを利用して実装されることが多いが、すでに主要な[[プログラミング言語]]にはJSONの生成と読み込みを行う[[ライブラリ]]が多数存在する。とくに[[動的言語]]では、[[PHP]]のJSON関数群や、[[C Sharp|C#]]の[[DynamicJSON]]などを使うことにより、事前に[[マッピングクラス]]を用意するなどの煩雑な準備も必要なく、JavaScriptと同様の手軽さで扱える。[[Node.js]]や[[IronJS]]などのサーバーサイドJavaScriptも流行りつつあるので、そちらを使うのも手ではある。 | 現状の多くのシステムでは[[サーバーサイド]]に[[PHP]]や[[ASP.NET MVC]]などを利用して実装されることが多いが、すでに主要な[[プログラミング言語]]にはJSONの生成と読み込みを行う[[ライブラリ]]が多数存在する。とくに[[動的言語]]では、[[PHP]]のJSON関数群や、[[C Sharp|C#]]の[[DynamicJSON]]などを使うことにより、事前に[[マッピングクラス]]を用意するなどの煩雑な準備も必要なく、JavaScriptと同様の手軽さで扱える。[[Node.js]]や[[IronJS]]などのサーバーサイドJavaScriptも流行りつつあるので、そちらを使うのも手ではある。 | ||
==主なJSON関連ライブラリ== | |||
===.NET Framework=== | |||
*[[Json.NET]] | |||
*:[[.NET Framework]]の標準。 | |||
*[[DynamicJSON]] | |||
*:[[動的型付け]]で[[JavaScript]]本来のJSON風に手軽に扱える。 | |||
*[[ServiceStack.Text]] | |||
*:JSONだけでなく[[JSV]]や[[CSV]]も同じ操作感で扱える。 | |||
===PHP=== | |||
[[PHP]] コアに含まれるため追加の[[インストール]]無しで使用できる。 | |||
なお、2008年8月15日でサポートが終わった古いPHP4系には存在しない[[API]]であり、そのような環境では[[PEAR]]のJSON.phpが使われていた。歴史的事象として記載しておく。 | |||
==関連項目== | |||
* [[AJAX]] | |||
* [[JSONファイル]] | |||
== 外部リンク == | == 外部リンク == | ||
* http://www.json.org/json-ja.html | * http://www.json.org/json-ja.html | ||
[[category: マークアップ言語]] | |||
[[category: JavaScript]] | |||
2025年3月4日 (火) 05:37時点における最新版
JSON(じぇいそん、JavaScript Object Notation)とは、JavaScriptにおけるオブジェクトの表記法をベースとした全てテキストで書く軽量なデータ交換フォーマットのことである。
概要[編集 | ソースを編集]
ジェイソンといっても13日の金曜日シリーズのジェイソン・ボーヒーズとは一切関係ない。なおジェイソン・ボーヒーズはチェーンソーを一度も使ったことが無いらしい。
テキストベースのデータ交換フォーマットと言えばXMLが有名だが、JSONは大雑把なデータ型をあらかじめ定義することで、XML並みの汎用性はないが、簡潔明瞭(データサイズが小さい=通信量を減らせる)に書けるようになっている。
また、JavaScriptであれば標準で用意されているeval関数一発でオブジェクトに変換できて手軽だね、ということでAjaxでのデータ交換フォーマットとして広く利用されるようになった。
なお、JSONは名称にJavaScriptとあるが、ただのテキストなのでJavaScript以外のプログラミング言語でも比較的簡単に扱える。 現状の多くのシステムではサーバーサイドにPHPやASP.NET MVCなどを利用して実装されることが多いが、すでに主要なプログラミング言語にはJSONの生成と読み込みを行うライブラリが多数存在する。とくに動的言語では、PHPのJSON関数群や、C#のDynamicJSONなどを使うことにより、事前にマッピングクラスを用意するなどの煩雑な準備も必要なく、JavaScriptと同様の手軽さで扱える。Node.jsやIronJSなどのサーバーサイドJavaScriptも流行りつつあるので、そちらを使うのも手ではある。
主なJSON関連ライブラリ[編集 | ソースを編集]
.NET Framework[編集 | ソースを編集]
- Json.NET
- .NET Frameworkの標準。
- DynamicJSON
- 動的型付けでJavaScript本来のJSON風に手軽に扱える。
- ServiceStack.Text
PHP[編集 | ソースを編集]
PHP コアに含まれるため追加のインストール無しで使用できる。 なお、2008年8月15日でサポートが終わった古いPHP4系には存在しないAPIであり、そのような環境ではPEARのJSON.phpが使われていた。歴史的事象として記載しておく。