JSON.stringify()の使い方と、JSONを使う理由

この記事は3分で読めます



index.html



app.js



「JSON」は、さまざまな情報をやり取りするためのデータ形式のことでファイルの拡張子は「.json」になります。JSONは軽量で単純なテキストデータのため、サーバー間の通信やさまざまなプログラミング言語との共有などにも効果的です!JavaScriptのオブジェクト形式のような構造をしていることから、特にJavaScriptと親和性が高いのが特徴です。

●「JSON.stringify()」の使い方
この章では、さまざまな値をJSONデータにエンコード(変換)するための方法について学習をしていきます。主に、「JSON.stringify()」メソッドを使ったオブジェクトや配列のJSON化について学んでいきます。
まずは、さまざまな値をJSONデータにすることができる「JSON.stringify()」メソッドについて見ていきましょう! 「JSON.stringify()」を使うと、例えばオブジェクトデータをJSONに変換するような処理が簡単に実現します。 一般的な記述としては、 【JSON.stringify( オブジェクトデータ )】 のように引数へJSON化したいデータを指定すればOKです。

●「JSON.parse()」の使い方
この章では、JSONのデコードについて学習をしていきましょう!JSONデータは単なるテキストデータなので、JavaScriptで扱えるような形式に変換する方法について学びます。
これまで学習してきた「JSONデータ」は、単純なテキストデータであり文字列でもあります。そのため、JavaScriptでJSONデータを受け取った場合、プログラムで利用しやすい形式に変換する必要があるのです。これを簡単に実現してくれるのが「JSON.parse()」メソッドです!
このように、JSONデータのエンコード・デコードはペアでよく使われるので慣れておくようにしましょう!


最近AngularJSを勉強し始めたのですが、調べ物をしているとデータを表示する時にjsonファイルを利用していることが多く見受けられるのですが、なぜjsonなのでしょう。javascriptの配列ではだめなのでしょうか。もしくは配列を使うのも同じくらい一般的なのでしょうか。

そもそもJSONとは、’JavaScriptObjectNotation’の略で、「javascriptにおける’オブジェクト’を表現するための記法」のことです。すなわち、JSONデータ = javascriptにおけるオブジェクトです。
複数のデータをまとめる際に何故配列ではなくJSONを使うかというと、「その方が扱いやすいから」です。


Twitter, Slackなど多数のAPIでJSONは利用されています。名前にjavascriptが入っているので、使用できる範囲が狭いように感じるかもしれませんが、実はPHPやRubyなど特定のプログラム言語に依存ぜず使用することすることができます。そのため、JSONの基本を理解し一度処理方法を身につけてしまえば、その知識をさまざまな場所で活用することができます。

JSONが使われる理由は、主に以下の3つの特徴を持っているためです。
・読みやすい構造
・軽量(必要なデータ以外に必要用なデータないため)
・言語に依存しない

JSONのデータは、キーと値のペアを持っており、キーと値を使って記述していきます。
JSONはキーも値もダブルくおテーションで囲む必要があります。
キーがついていることで、その値が何の値なのかを説明することができるため、わかりやすいデータ構造をしていることがこの例を見ただけでも理解して頂けるかと思います。


JSONというのは「データを表現するための記法(≒文法)」です。シンプルなデータであれば、文法など気にせずにただ書けば問題ありません。少々複雑でも、我々は「表」という記法を知っているため、ある程度の複雑さには対応できます。
しかし、表で表すのが困難な程度の複雑な構造を持つデータを表現しなければならないことは多々あります。データを表現する目的は、誰か *1データを伝えることです。相手が人間であれば、注意書きや複数の「表」を駆使してデータを伝えられますが、相手がコンピュータである場合、その記法は厳密なルールの上に記述しなければ、伝わりません。
このように、表形式では表現が困難な構造のデータを、人間に対するある程度の可読性を残しつつ、コンピュータに対しても伝達できるような記法、その1つがJSONです。そしてJSON形式で記述したデータのことを、JSON-textといいます。

  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

管理人紹介


21世紀、より良い人生を歩むための個人事業主による備忘録メモです。固定観念にとらわれず、日本や世界の深淵に触れ、自由快適な人生を歩んでいく事を大切にしています。