JSONとは?概要からJSONファイルフォーマットまで解説!
thumb_jsontoha_01
JSONとは?概要からJSONファイルフォーマットまで解説!
アンドエンジニア編集部
2024.02.22
この記事でわかること
JSONは、テキスト形式でデータを保存し色々な用途に活用できるファイルのフォーマットです
JavaScriptをはじめとして、プログラム言語に依存しないデータ交換が可能です
各言語やウェブAPIでサポートされており、ウェブアプリケーションのデータ交換に最適です

JSONとは?

img_jsontoha_01

JSONとはJavaScript Object Notationの略で、テキスト形式を用いたデータ記述言語の1つです。JavaScriptで定義されているオブジェクト表記法です。JSONの仕様は、RFCおよびIETFの標準規格で規定されています。同様にECMAでも仕様化されています。

【参考】:IETF STD90 RFC8259 JSON 【参考】:ECMA-404

JSONはわかりやすく言うと、テキスト形式でデータを保存し色々な用途に活用できるファイルのフォーマット(書式)です。読み方は「ジェイソン」です。テキスト形式で保存されるので初心者でも簡単に記述でき、JavaScriptだけでなく主要なプログラム言語から利用されています。

JSON入門!基本フォーマットからファイルの作り方まで解説

データ記述言語とは

データ記述言語を説明する前に、コンピュータの記述言語を説明します。コンピュータの記述言語としては、プログラムを実行するための言語としてプログラム言語が使われます。プログラム言語は事前に実行コードを生成するコンパイラ言語や、実行時に逐次解釈し実行するインタプリタ言語があります。

サーバ管理に広く用いられているスクリプト言語ですが、近年ウェブプログラミングでも広く活用されています。具体的には、JavaScript(ECMAScript)がウェブブラウザで用いられます。さらに、PerlやPython・PHP等のスクリプト言語が、プログラムコード実行からテキスト処理まで幅広く利用されています。

データ記述言語は上記プログラム言語に属しませんが、プログラム言語の処理結果や処理データを表示するために用いられます。具体的にはHTML等のマークアップ言語が該当します。マークアップ言語はスクリプトを処理したり、スクリプト言語を呼び出したりしますから、プログラム言語とデータ記述言語は密接に関係していると言えます。

このようにスクリプト処理が利用活用されていくと、より複雑なデータを取り込み処理する需要が高まってきました。この流れから、データ記述言語ではデータ構造を定義し共通化を図るとともに、そのデータを従来のバイナリ形式からテキスト形式で保存するニーズがさらに高まりました。

Perlとは?できることやメリット・デメリットについて解説!
Pythonでできることは?初心者が作れるものや実用例を紹介
PHPでできること6選!作品例やアプリ、できないことも紹介!

JSONの基本フォーマット

JSONのフォーマットは簡単なため、初心者でもすぐに覚えられます。記述はキー(名前)とバリュー(値)のペアでシンプルに記述していきます。

具体的には、以下の表記形式に従い記述します。

表記形式:基本規則

 { “名前”: 値 }

 { “名前”: 値 , “名前”: 値 }

 {

  “名前”: 値 ,

  “名前”: 値 ,

  “名前”: 値

 }

基本規則についてもう少し説明します。

・キー(名前)とバリュー(値)のペア  データは名前と値のペアで記述します。  名前と文字列の値はそれぞれダブルクォーテーション(”)で括ります。  シングルクォーテーション(’)は使用できません。

上記基本規則に加えて、以下の記述規定があります。

・波カッコ({})とコロン(:)の利用  データの最初と最後は波カッコ({})で括ります。  名前と値の間にコロン(:)を入れます。

・名前と値のペアの間にカンマ(,)を利用  名前と値のペアが複数ある場合は、名前と値のペアの間にカンマ(,)を入れます。

・配列は角カッコ([])で、ネストは波カッコ({})で記述  値を入れ子とする場合は配列表記とネスト表記が可能です。

【参考】:JSONの紹介

JSONのデータ型

JSONは以下のデータ型に対応しています。

・文字列  ダブルクォーテーション(”)で括った文字列で、特殊文字はバックスラッシュ(\)を先に付けます。

・数値  0から9の数字、符号、小数点、指数記号(Eとe)が使えます。  8進数と16進数は使えません。

・true、false  論理値で全て小文字で表記します。

・null  ヌル値で全て小文字で表記します。

・オブジェクト  JSONオブジェクトを波カッコ({})で入れ子にすることができます。

・配列  角カッコ([])で括ることで、連続したデータ領域が割り当てられます。

JSONの利用メリット

img_jsontoha_02

ここでは、JSONを扱う上でどういったメリットがあるのかを紹介します。

表記形式がシンプル

JSONは表記形式がシンプルであることが最大の特長です。表記がテキスト形式なのでフォーマットが読みやすくデータ量が少ないため、軽量に処理を行うことができます。そのためJavaScriptでの利用のみならず、プログラム言語に依存しないデータ交換が可能です。

JSON以外では、XML(Extensible Markup Language)というマークアップ言語を用いる方法もあります。XMLではユーザが定義したタグを用いてデータ交換を行います。専門的な構文理解が求められることから、直接読み取ることが容易ではありません。このため初心者でも簡単に扱えるJSONの利用が拡大しています。

XMLとは?詳細や特徴、メリット・デメリットを徹底解説!

多くのプログラミング言語で利用できる

JSONはJavaScriptをはじめ、PythonやC++、Javaなど、多くの言語をカバーしているのもメリットの1つです。多くのプログラミング言語ではJSONを読み込める機能が備わっているため、利用しやすい特徴があります。

また、JSONはテキストベースなので、異なる言語間でもデータ交換が行えます。インストールの必要がなく、利用する上でのハードルも低いでしょう。

C言語とC++の違いとは?それぞれの特徴・メリットについて解説
Javaでできることとは?メリット・デメリットについても解説!

フロントエンド開発で活躍する

JSONと同じように、ReactやVue、AngularなどのフロントエンドフレームワークもJavaScriptをベースとしています。サーバからJSON形式でデータ受け取りを行う際には、加工が必要なく、そのまま利用できます。手間がかからないという利点は、フロントエンド開発においては価値が大きいでしょう。

Reactの将来性はVue超え?できることやメリット・デメリットも解説
ReactとVue.jsの違いは何?概要や具体的な違いを整理する

JSONファイルとは

img_jsontoha_03

JSONファイルとは、JSONフォーマットで記述されたテキスト形式のファイルを指します。フォーマットとはあらかじめ決められた書式のことです。ファイルを使ったデータ交換に利用されており、ファイルの拡張子は.jsonです。冒頭述べた通りJSONフォーマットは、RFCおよびIETFそしてECMAで標準規格化されています。

JSONファイルとは?基本構造からファイルの作り方、読み書き方法まで解説

JSONファイルの作り方

JSONファイルはテキストエディタやツールを用いて作成します。代表的なテキストエディタは、WindowsがNotepad・MacOSがTextEdit、LinuxがVim等です。より高度で複雑なJSONの編集を行う場合は、JSONに対応する作成ツール・エディタを使用します。

【参考】:Notepad++ 【参考】:TextEdit

Vimとは?何ができるかや各モードの違い・使い分け方を解説

JSONファイルを扱うライブラリ

img_jsontoha_04

JSONファイルを作るにはテキストエディタや編集ツールを用いるほか、各プログラム言語のAPIを使用できます。JSONはプログラム言語に依存しないため、各種プログラム言語で利用します。

以下が各言語に対応するJSONファイルの作成・出力・読み込みAPIです。代表的なプログラム言語であるJavaScript・Java・Python・PHPのAPIをリストアップしました。

JavaScript

ファイルへの出力は、オブジェクトをJSON.stringify()でJSONデータ形式に変換し、writeFileSync()でファイルに出力します。ファイルの読み込みは、readFileSync()やreadFile()でファイルからJSONデータを読み込み、JSON.parse()でオブジェクトに変換します。

JavaScriptとは?特徴・メリット・何ができるのかを解説

Java

JSONObjectクラスを用います。最初にimportでnet.sf.json.JSONObject、またはorg.json.JSONObjectのライブラリをインポートします。ファイルへの出力は、データをJSONObject.put()でJSONデータ形式に変換し、JSONObject.write()でファイルに出力します。ファイルの読み込みは、readLine()でファイルからJSONデータを読み込み、JSONObject.get()でオブジェクトに変換します。

Javaとは?人気プログラミング言語Javaの将来性やメリットについて解説

Python

JSON APIを用い、最初に”import json”でライブラリをインポートします。ファイルへの出力は、出力用のファイルをopen()で読みこみ、次にオブジェクトをjson.dumps()でJSONデータ形式に変換し、writelines()でファイルに出力します。ファイルの読み込みは、同じくopenreadline()でファイルからJSONデータを読み込み、json.loads()でオブジェクトに変換します。

Pythonで開発を行う際におすすめのツールを徹底解説!

PHP

ファイルへの出力は、オブジェクトをjson_encode()でJSONデータ形式に変換し、file_put_contents()でファイルに出力します。ファイルの読み込みは、file_put_contents()でファイルからJSONデータを読み込み、json_decode()でオブジェクトに変換します。

PHPとは?基本知識からメリット・デメリットまでわかりやすく解説

JSONファイルの取得方法

JSONファイルはテキスト形式の.jsonファイルですので、FTPやHTTPで取得することができます。HTMLに取込み機能を実装する場合は、JavaScriptでXMLHttpRequest(XHR)APIを用います。XMLHttpRequest()を用いたJSONファイルの取り込み例は、HTML5やJavaScriptのデベロッパコミュニティであるMDNに掲載されていますので、ご確認ください。

【参考】:MDN JSON の取得

HTML5とは?特徴や変更点・関連用語・対応ブラウザを解説!

JSONファイルの削除方法

JSON形式のファイルの削除はOSのファイル削除の操作で削除できます。プログラム言語内でも作成したファイルをAPIで削除することができます。

JSONでデータ活用を効率的に行いましょう

img_jsontoha_05

JSONは簡単なデータ記述言語であり、テキスト形式のため作成・修正等のメンテナンスが簡単に行えます。JSONファイルにデータを格納することでネットワーク環境においてもデータ交換が可能になります。異なるアプリケーション同士でもデータの受け渡しが簡単に行うことができます。

手順を決めることで簡単にメモ感覚でデータを集計し、後で統合利用することもおすすめの利用方法です。

HTMLタグとは?HTMLタグ一覧など初心者向けに解説!
Web APIとは?仕組みや使い方、メリットをわかりやすく解説!
気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【年収±診断】6つの質問に答えて、真の市場価値をチェック!
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT