JSONという単語を目にしたことはありますか?これらはデータを扱う時や、何らかのソフトの設定を変更する際に見たことがあるかもしれません。いう意味や違いを持つのか分からない方もいるのではないでしょうか。JSONとはどういうものなのかそれぞれの特徴は何かどのように記述するのかこの3つについて解説したいと思います。PythonでXMLを記述してみようまとめさまざまなデータ形式データを記述する方法は実に様々です。JSONは、全てシンプルなテキストベースのデータ形式です。砕いて言えば、データを記述するためのルールのようなものです。これらの形式を使い、コンピュータ同士のやり取りや特にインターネットを介したデータの受け渡しを行います。それぞれの形式についてより詳しく解説をしていきます。知られており、理解しやすい形式がこのCSV(シー・エス・ブイ)だと思います。Values’(コンマ・セパレイテッド・バリューズ)の頭文字です。その名の通りコンマ(”,”)で区切られています。この方式は複雑ではないので、直感的にデータの中身を把握しやすいです。Sheetと親和性の良いのがこのファイル形式です。Language(エクステンシブル・マークアップ・ラングイッジ)と言われ、XML(エックス・エム・エル)と略されます。XMLはHTMLの記述方法に似ており、タグと呼ばれるもの(例えば\\のようなものです)によってデータを囲み、更にデータを入れて入れ子構造にすることができます。人が見るのには直感的に理解しづらく複雑ですが、CSVよりも様々なデータを記述することができます。Ajaxと呼ばれる機能が普及したことにより、クライアント側でも処理が容易であるため、XMLでの記述されることは多いです。Asynchronousとは「非同期で」という意味で、JavaScriptとXMLを使って非同期にサーバとの間の通信を行うものです。非同期通信とはページ遷移を必要としない通信のことです。通常の同期通信の場合、例えばリンク先に飛ぶなどを行うと、一回画面が真っ白くなった後に新しいページが表示されます。非同期通信の場合は、このページ遷移が必要ではありません。内部的にXMLとJavaScriptが通信を行ってくれることによって、そのページのままページを更新することができます。このサービスは、ページ遷移をせずに新しい地域を表示することが可能です。Notation(ジャバスクリプト・オブジェクト・ノテイション)の頭文字です。このデータは辞書型と呼ばれる、一対一対応のような記述方式をとっています。XMLよりもデータの記述量が少ないので、読み込みが速いと言われています。この形式の特徴は、その名前からも分かるようにJavaScriptとの親和性の高さが挙げられます。記述したプログラムで扱うことができます。それぞれの形式の特徴と関係性それぞれの使い分け方は簡単に言うと、XMLやJSONはリスト内のリストを作るようなイメージで使用され、CSVはテーブルデータのために使用されます。CSVでデータを記述してみよう”で説明します。それぞれの特徴と関係性を説明します。JSON﻿XMLとJSONには相互変換できるライブラリーが多数存在します。これらを完璧に変換できるものはありません。CSV﻿XML、JSONはCSVよりも複雑なデータを扱うことができます。XMLやJSONはCSVファイルが保存できるテーブル型のデータを保存できます。記述はCSVよりも複雑になります。改行の有無CSVではデータの列ごとに改行が必要ですが、JSONとXMLではその必要がありません。私たちは改行がある方が読みやすいですが、コンピューターの場合は改行がない方が読み込みやすいです。この改行が必要ないのは読み込みやすさを上げるには非常に重要な問題になっています。JSONでデータを記述してみようでは、実際にテーブル型のデータをそれぞれの形式で記述してみたいと思います。その前にテーブル型のデータとは何でしょうか。簡単に説明しておきたいと思います。テーブル型のデータとはテーブル型は縦の行(record)と横の列(column)からなる二次元の「表」であり、固定された列に対して、任意の数の行が追加される構造になっています。以下のようなデータをそれぞれの方式で記述しています。Canadaこのテーブルは、行にID、Name、Countryを指定し、それぞれについて要素を入れた名簿のようなものです。このデータをそれぞれの形式で書くとどのようになるのでしょうか。先にも紹介したように、この形式は人が見てどのようなデータなのかが分かりやすいです。テーブルは、上の表とかなり似ています。Canadaちなみにこの形式をExcelで開くと、それぞれの要素がセル内に入った状態で表示されます。上のCSVで記述したデータをXMLで記述した場合、次のようになります。</root>内容は見てわかるようにHTMLに似ています。この形式ではまず最初に、XMLのバージョンとエンコードを指定します。タグ<>でデータを囲んで記述します。見るとタグの中にタグが入っているのが分かると思います。このように記述していくことで、より多くのデータを扱うことができます。最後にJSONで記述してみます。'Canada'}]1つの要素に対して1つのものを指定している形式をとっています。このような記述は辞書にように1つ言葉に1つの意味が載っていることから、辞書型と呼ばれています。見ての通り、XMLよりも記述量が少なく、人が見て分かりやすいのが見て取れると思います。PythonでXMLを記述してみよう上記のデータは直接ファイルに書き込むことを想定していますが、プログラミング言語を使用してファイルを作成することができます。ここでは一番複雑なXMLをPythonで記述するためのコードを記したいと思います。Pythonでは標準でXMLを書くためのモジュールが存在します。'Canada'このコード自体は現時点で理解できる必要はないですが、このように書けるのかという事だけは頭の片隅に入れておいてください。JSONそれぞれのデータ形式とそれぞれの特徴や記述方法について説明しました。自分で何かサービスやソフトウェアを作ろうといた時に、ここに出てきたものが必要になってくる場面があるかもしれません。この記事を読んで理解を深めていただけると幸いです。よるスキル修得を保証しているプログラミングスクールです。独学での挫折や未経験からでも、スタートアップベンチャーや日系・外資の大手WEB系企業まで幅広くエンジニアを輩出する教育実績を残しています。勉強目的ごとに用意された6つの学習コースと現役エンジニア、キャリアコンサルタントがあなたの「開発スキル修得」と「キャリアプランニング」をサポートしますさらに、期間内であれば選択した以外のコースのカリキュラムを受講可能。同じ値段で、頑張った分だけ勉強できる「勉強し放題」はCodeShipだけ。ご自身のプログラミング学習やキャリアプランについて、無料個別相談会にてお気軽にご相談ください。キャリア選択の実現”を目指す、池袋のオフラインプログラミングスクール。活かす・趣味など、プログラミングを学習する全てのを目的達成を応援するため、技術やプログラミング、キャリアについての情報発信をしています。日々プログラミング学習を進める皆さんの支えや気づきになるよう、CodeShipの授業内での技術・プログラミング・キャリアに関する質疑応答や、卒業生のインタビューなども公開していきます。【短編コラム】学習環境に入ることで、確実なスキルアップをNEW【Q&A】効率よくコードから文章を探す方法を教えてください。