一言でいうとデータ記述言語、つまりデータを表現するための言語です。
もう少し詳しく言います。
データ記述言語
例えば var list = new List<int> { 1, 2, 3 };
というデータがあったとします。
このデータはプログラム実行中に使うことができますが、プログラムの実行が終わると消えてしまいます。
そこで実行が終わっても消えないようにファイルに残します。
このときファイルに 123
と書き込みました。
ところが後で読み込むとき、この数値は 123
なのか 1, 2, 3
なのか 12, 3
なのかわかりません。
そこで書き込む側と読み込む側で同じルールを元に読み書きをすることになりました。
このような共通ルールを元にデータを書き表すのが「データ記述言語」で、JSON の他には HTML や XML や CSV や YAML などがデータ記述言語です。
データ記述言語の役割
JSON のようなプログラミング言語に依存しないデータ記述言語を用いると、複数のプログラムでデータを受け渡しできます。たとえば C# で作成したデータを JavaScript で受け取り、それを PHP に渡すようなことができます。
これを「データ交換」と言います。
一つのプログラムでデータを保存する役割だけではなく、複数のプログラムでデータを交換できるのがデータ記述言語の大きな役割の一つです。
JSON が使われる訳
JSON には次の特長があります。
- 人間が目で見て中のデータを素早く確認できる
- CSV に比べて複雑な構造のデータを簡単に表現できる
- XML に比べて少ない記述でデータを表現できる
- JavaScript では JSON をそのままオブジェクトに変換できる
このような特長から、ウェブ方面を中心に一気にシェアを伸ばしました。
質問への回答
jsonというのはレンタルサーバーなどでjsonファイルを作成してサーバーサイド言語で接続するデータベースのようなものなのか、
ただのパソコンに作成されるようなファイルでサーバーが必要なく、そのファイルにデータを保存するものなのかどちらなのでしょうか?
後者です。しかし前述のようにデータ交換に使用されるものなので、サーバーサイド言語で作成されてブラウザに渡されたり、逆にブラウザでユーザーの操作を JSON に変換してサーバーに送られたりします。