JSONとは

JSON の正式名称は「JavaScript Object Notation」で、「JavaScript Object Notation」または「JavaScript Object Notation」と訳されています。軽量でテキストベースのオープン データ交換形式です。 JSON は Web 開発の分野で重要な役割を果たします。Web 開発の分野で大きな違いを生み出したい場合は、JSON を理解する必要があります。

データ交換とは、2 つのデバイス間の接続を確立し、相互にデータを転送するプロセスを指します。

JSON はその名前に「JavaScript」が含まれていますが、JavaScript で利用できるだけでなく、JavaScript、Java、PHP、Python、C++、等

JSON とは

JSON は純粋な文字列の形式のデータであり、ネットワークでの送信に非常に適したメソッド (関数) 自体を提供しません。 JavaScript、PHP、Java、Python、C++、およびその他のプログラミング言語には、JSON データを操作するためのメソッドが組み込まれています。

JSON は JavaScript のサブセットに基づいています (標準 ECMA-262 第 3 版 – 1999 年 12 月)。これは、オープンで軽量なデータ交換形式です。プログラミング言語に依存しないテキスト形式を使用して、データを格納および表現します。プログラミングが簡単です。人間が読み書きするのは簡単ですが、コンピューターが解析して生成するのも簡単で、通常、Web クライアント (ブラウザー) と Web サーバーの間でデータを転送するために使用されます。

JSON では、データは次の 2 つの方法で表されます。
  • オブジェクト: 中かっこ{ }を使用して定義された、キーと値のペア (名前と値) のコレクション。各キーと値のペアでは、キーで始まり、コロン:が続き、最後に値が続きます。複数のキーと値のペアは、 {"name":"IT基礎","url":"https://it-kiso.com"}のようにカンマで区切り,
  • 配列 (配列): 角かっこ[ ]を使用して定義された値の順序付けられたコレクションと,配列内の各値を区切るためにコンマが使用されます。

簡単な JSON データを以下に示します。
 
{
    "Name":"IT基礎",
    "Url":"https://it-kiso.com/",
    "Tutorial":"JSON",
    "Article":[
        "JSON とは",
        "JSONP とは",
        "JSON 構文規則"
    ]
} 

JSONの歴史

JSON は 2000 年初頭に Douglas Crockford によって発明され、2001 年から普及しています。同年 4 月、サンフランシスコ ベイエリアのガレージにあるコンピューターが、最初のデータを JSON 形式で送信しました。これは、コンピューティングの歴史において重要な瞬間でした。


写真: ダグラス・クロックフォード

2005 年から 2006 年にかけて、JSON が正式に主流のデータ形式になり、Yahoo や Google などの有名な Web サイトで JSON 形式が広く使用されるようになりました。

2013 年、ECMA International (European Computer Manufacturers Association) は JSON 構文標準 – ECMA-404を開発しました。

過去 20 年ほどの間に、JSON は XML に取って代わり、Web 開発のデータ交換フォーマットとして好まれてきました。

JSON を使用する理由

JSON はインターネット経由でデータを転送する唯一の方法ではなく、XML 形式もあります。 JSON と XML は同じタスクの多くを実行できるのに、なぜ XML の代わりに JSON を使用する必要があるのでしょうか?

JSON を使用する主な理由は JavaScript です。ご存知のように、JavaScript は Web 開発に不可欠なテクノロジの 1 つであり、JSON は JavaScript のサブセットに基づいています. JavaScript はデフォルトで JSON をサポートしており、JavaScript を学習する限り、追加の知識を習得しなくても簡単に JSON を使用できます.

もう 1 つの理由は、JSON は XML よりも読みやすく、JSON の方が簡潔で理解しやすいことです。

JSON には、XML に比べて次の利点があります。
  • シンプルでコンパクトな構造: XML と比較して、JSON はシンプルでコンパクトなスタイルに従います。これは、プログラマーが編集および読み取りを行うのに役立ちますが、XML は比較的複雑です。
  • 高速: JSON の解析速度は XML よりも高速です (XML は HTML に非常に似ているため、大きな XML ファイルを解析するときに余分なメモリを消費する必要があります)。同じデータを保存すると、JSON 形式が占めるストレージ スペースは小さくなります。
  • 高い可読性: JSON の構造は、プログラマーにとって読みやすいものです。

JSON の欠点

完璧なものはなく、次のような JSON も例外ではありません。
  • 1 つの数値型のみ: JSON でサポートされているのは IEEE-754 倍精度浮動小数点形式のみであるため、JSON を使用して、多くのプログラミング言語に見られるさまざまな数値型を格納することはできません。
  • 日付型なし: JSON では、日付の文字列 (例: 1970-01-01) またはタイムスタンプ (例: 1632366361) でのみ日付を表すことができます。
  • コメントなし: JSON にコメントを追加することはできません。
  • 冗長性: JSON は XML よりも簡潔ですが、データ交換用の最もコンパクトな形式ではありません。大量のデータや特別な目的を持つサービスでは、より効率的なデータ形式を使用する必要があります。

JSON はどのように保存する必要がありますか?

JSON データは、.json 形式 (.txt 形式に似ています。どちらもプレーン テキスト ファイルです) のファイルに保存できます。JSON データは、データベース、Cookie、およびセッションに文字列の形式で保存することもできます。

保存された JSON データを使用することも非常に簡単です. さまざまなプログラミング言語では、JavaScript の JSON.parse() と JSON.stringify()、PHP の json_decode() と json_encode( )。

JSON はいつ使用されるか

JSON について簡単に理解したら、JSON をいつ使用するかを見てみましょう。

1) インターフェースを定義する

JSON が最も使用される場所は Web 開発の分野で、現在のデータ インターフェイスは基本的に次のような JSON 形式でデータを返します。
  • Ajax を使用して非同期にロードされたデータ。
  • RPC リモート呼び出し。
  • フロントエンドとリアエンドが分離され、バックエンドからデータが返されます。
  • Yahoo や Rakuten の一部のオープン インターフェイスなどの API を開発します。

これらのインターフェイスは通常、インターフェイスによって呼び出されるメソッド、必要なパラメーター、および返されるデータの概要を説明するインターフェイス ドキュメントを提供します。

2) シリアル化

すべての変数は、プログラムの実行中にメモリに保存されます. プログラムを再起動したり、サーバーがダウンしたりすると、データは失われます.一般に、ランタイム変数はそれほど重要ではなく、失われると失われますが、次のプログラムの起動または他のプログラムのためにいくつかのデータを保存する必要があります。

We can save these data to a database or to a file. データをメモリに保存するこのプロセスは、シリアル化と呼ばれます。シリアライゼーションは Python では pickling と呼ばれ、他の言語ではシリアライゼーション、マーシャリング、フラット化などとも呼ばれ、すべて同じ意味です。

通常、シリアル化はプログラム内のオブジェクトを保存または送信できるデータに直接変換することですが、これではオブジェクトの型情報が保存されるため、言語をまたいで使用することはできません.たとえば、Pythonを使用してデータをハードにシリアル化します.ディスク. 次に、Java を使用してこのデータを読み取ります. このとき、プログラミング言語によってデータ型が異なるため、読み取りに失敗します.オブジェクト情報をシリアル化する前に JSON 形式に変換すると、この問題は発生しません。

3) トークンを生成する

トークンにはさまざまな形式があります.JSON、文字列、数値などを使用してトークンを生成できます.JSON形式のトークンの最も代表的な形式はJWT (JSON Web Tokens)です。

技術の発展に伴い、分散 Web アプリケーションがますます普及し、Session を介してユーザーのログイン状態を管理するコストがますます高くなっているため、ログインの本人確認に Token を使用し、その後 Token を使用するように徐々に発展してきました。 Redis にキャッシュされた情報を取得します。ユーザー情報。その後JWTが登場し、Redisのキャッシュを経由する必要がなくなり、トークンを元に格納されたユーザー情報を直接読み取る認証方法が簡便になりました。

4) 設定ファイル

プログラムの設定ファイルとしてJSONを使うこともできますが、代表的なものはnpm (Node.jsのパッケージ管理ツール)のpackage.jsonパッケージ管理設定ファイルです。
 
{
    "name": "server",
    "version": "0.0.0",
    "private": true,
    "main": "server.js",
    "scripts": {
        "start": "node ./bin/www"
    },
    "dependencies": {
        "cookie-parser": "~1.4.3",
        "debug": "~2.6.9",
        "express": "~4.16.0",
        "http-errors": "~1.6.2",
        "jade": "~1.11.0",
        "morgan": "~1.9.0"
    }
} 

ヒント: JSON を使用して構成ファイルを定義することはできますが、JSON ではコメントを追加できないため、構成ファイルの可読性は低くなります。

要約する
JSON は軽量のデータ交換形式です. JavaScript のサブセットに基づいています. データを表すためにプログラミング言語から完全に独立した形式を使用し、言語やプラットフォームを超えて使用できます.簡潔で明確な階層構造により、JSON は徐々に XML に取って代わり、Web 開発の分野で広く使用されている最も理想的なデータ交換形式になります。

「 JSONとは」についてわかりやすく解説!絶対に観るべきベスト2動画

JSONについてわかりやすく説明します
【Pythonプログラミング入門】JSONを解説!( jsonモジュール ) 〜VTuberと学習〜 【初心者向け】
JSON の正式名称は「JavaScript Object Notation」で、「JavaScript Object Notation」または「JavaScript Object Notation」と訳されています。軽量でテキストベースのオープン データ交換形式です。 JSON は Web 開発の分野で重要な役割を果たします。Web 開発の分野で大きな違いを生み出したい場合は、JSON を理解する必要があります。

データ交換とは、2 つのデバイス間の接続を確立し、相互にデータを転送するプロセスを指します。

JSON はその名前に「JavaScript」が含まれていますが、JavaScript で利用できるだけでなく、JavaScript、Java、PHP、Python、C++、等

JSON とは

JSON は純粋な文字列の形式のデータであり、ネットワークでの送信に非常に適したメソッド (関数) 自体を提供しません。 JavaScript、PHP、Java、Python、C++、およびその他のプログラミング言語には、JSON データを操作するためのメソッドが組み込まれています。

JSON は JavaScript のサブセットに基づいています (標準 ECMA-262 第 3 版 – 1999 年 12 月)。これは、オープンで軽量なデータ交換形式です。プログラミング言語に依存しないテキスト形式を使用して、データを格納および表現します。プログラミングが簡単です。人間が読み書きするのは簡単ですが、コンピューターが解析して生成するのも簡単で、通常、Web クライアント (ブラウザー) と Web サーバーの間でデータを転送するために使用されます。

JSON では、データは次の 2 つの方法で表されます。
  • オブジェクト: 中かっこ{ }を使用して定義された、キーと値のペア (名前と値) のコレクション。各キーと値のペアでは、キーで始まり、コロン:が続き、最後に値が続きます。複数のキーと値のペアは、 {"name":"IT基礎","url":"https://it-kiso.com"}のようにカンマで区切り,
  • 配列 (配列): 角かっこ[ ]を使用して定義された値の順序付けられたコレクションと,配列内の各値を区切るためにコンマが使用されます。

簡単な JSON データを以下に示します。
 
{
    "Name":"IT基礎",
    "Url":"https://it-kiso.com/",
    "Tutorial":"JSON",
    "Article":[
        "JSON とは",
        "JSONP とは",
        "JSON 構文規則"
    ]
} 

JSONの歴史

JSON は 2000 年初頭に Douglas Crockford によって発明され、2001 年から普及しています。同年 4 月、サンフランシスコ ベイエリアのガレージにあるコンピューターが、最初のデータを JSON 形式で送信しました。これは、コンピューティングの歴史において重要な瞬間でした。


写真: ダグラス・クロックフォード

2005 年から 2006 年にかけて、JSON が正式に主流のデータ形式になり、Yahoo や Google などの有名な Web サイトで JSON 形式が広く使用されるようになりました。

2013 年、ECMA International (European Computer Manufacturers Association) は JSON 構文標準 – ECMA-404を開発しました。

過去 20 年ほどの間に、JSON は XML に取って代わり、Web 開発のデータ交換フォーマットとして好まれてきました。

JSON を使用する理由

JSON はインターネット経由でデータを転送する唯一の方法ではなく、XML 形式もあります。 JSON と XML は同じタスクの多くを実行できるのに、なぜ XML の代わりに JSON を使用する必要があるのでしょうか?

JSON を使用する主な理由は JavaScript です。ご存知のように、JavaScript は Web 開発に不可欠なテクノロジの 1 つであり、JSON は JavaScript のサブセットに基づいています. JavaScript はデフォルトで JSON をサポートしており、JavaScript を学習する限り、追加の知識を習得しなくても簡単に JSON を使用できます.

もう 1 つの理由は、JSON は XML よりも読みやすく、JSON の方が簡潔で理解しやすいことです。

JSON には、XML に比べて次の利点があります。
  • シンプルでコンパクトな構造: XML と比較して、JSON はシンプルでコンパクトなスタイルに従います。これは、プログラマーが編集および読み取りを行うのに役立ちますが、XML は比較的複雑です。
  • 高速: JSON の解析速度は XML よりも高速です (XML は HTML に非常に似ているため、大きな XML ファイルを解析するときに余分なメモリを消費する必要があります)。同じデータを保存すると、JSON 形式が占めるストレージ スペースは小さくなります。
  • 高い可読性: JSON の構造は、プログラマーにとって読みやすいものです。

JSON の欠点

完璧なものはなく、次のような JSON も例外ではありません。
  • 1 つの数値型のみ: JSON でサポートされているのは IEEE-754 倍精度浮動小数点形式のみであるため、JSON を使用して、多くのプログラミング言語に見られるさまざまな数値型を格納することはできません。
  • 日付型なし: JSON では、日付の文字列 (例: 1970-01-01) またはタイムスタンプ (例: 1632366361) でのみ日付を表すことができます。
  • コメントなし: JSON にコメントを追加することはできません。
  • 冗長性: JSON は XML よりも簡潔ですが、データ交換用の最もコンパクトな形式ではありません。大量のデータや特別な目的を持つサービスでは、より効率的なデータ形式を使用する必要があります。

JSON はどのように保存する必要がありますか?

JSON データは、.json 形式 (.txt 形式に似ています。どちらもプレーン テキスト ファイルです) のファイルに保存できます。JSON データは、データベース、Cookie、およびセッションに文字列の形式で保存することもできます。

保存された JSON データを使用することも非常に簡単です. さまざまなプログラミング言語では、JavaScript の JSON.parse() と JSON.stringify()、PHP の json_decode() と json_encode( )。

JSON はいつ使用されるか

JSON について簡単に理解したら、JSON をいつ使用するかを見てみましょう。

1) インターフェースを定義する

JSON が最も使用される場所は Web 開発の分野で、現在のデータ インターフェイスは基本的に次のような JSON 形式でデータを返します。
  • Ajax を使用して非同期にロードされたデータ。
  • RPC リモート呼び出し。
  • フロントエンドとリアエンドが分離され、バックエンドからデータが返されます。
  • Yahoo や Rakuten の一部のオープン インターフェイスなどの API を開発します。

これらのインターフェイスは通常、インターフェイスによって呼び出されるメソッド、必要なパラメーター、および返されるデータの概要を説明するインターフェイス ドキュメントを提供します。

2) シリアル化

すべての変数は、プログラムの実行中にメモリに保存されます. プログラムを再起動したり、サーバーがダウンしたりすると、データは失われます.一般に、ランタイム変数はそれほど重要ではなく、失われると失われますが、次のプログラムの起動または他のプログラムのためにいくつかのデータを保存する必要があります。

We can save these data to a database or to a file. データをメモリに保存するこのプロセスは、シリアル化と呼ばれます。シリアライゼーションは Python では pickling と呼ばれ、他の言語ではシリアライゼーション、マーシャリング、フラット化などとも呼ばれ、すべて同じ意味です。

通常、シリアル化はプログラム内のオブジェクトを保存または送信できるデータに直接変換することですが、これではオブジェクトの型情報が保存されるため、言語をまたいで使用することはできません.たとえば、Pythonを使用してデータをハードにシリアル化します.ディスク. 次に、Java を使用してこのデータを読み取ります. このとき、プログラミング言語によってデータ型が異なるため、読み取りに失敗します.オブジェクト情報をシリアル化する前に JSON 形式に変換すると、この問題は発生しません。

3) トークンを生成する

トークンにはさまざまな形式があります.JSON、文字列、数値などを使用してトークンを生成できます.JSON形式のトークンの最も代表的な形式はJWT (JSON Web Tokens)です。

技術の発展に伴い、分散 Web アプリケーションがますます普及し、Session を介してユーザーのログイン状態を管理するコストがますます高くなっているため、ログインの本人確認に Token を使用し、その後 Token を使用するように徐々に発展してきました。 Redis にキャッシュされた情報を取得します。ユーザー情報。その後JWTが登場し、Redisのキャッシュを経由する必要がなくなり、トークンを元に格納されたユーザー情報を直接読み取る認証方法が簡便になりました。

4) 設定ファイル

プログラムの設定ファイルとしてJSONを使うこともできますが、代表的なものはnpm (Node.jsのパッケージ管理ツール)のpackage.jsonパッケージ管理設定ファイルです。
 
{
    "name": "server",
    "version": "0.0.0",
    "private": true,
    "main": "server.js",
    "scripts": {
        "start": "node ./bin/www"
    },
    "dependencies": {
        "cookie-parser": "~1.4.3",
        "debug": "~2.6.9",
        "express": "~4.16.0",
        "http-errors": "~1.6.2",
        "jade": "~1.11.0",
        "morgan": "~1.9.0"
    }
} 

ヒント: JSON を使用して構成ファイルを定義することはできますが、JSON ではコメントを追加できないため、構成ファイルの可読性は低くなります。

要約する
JSON は軽量のデータ交換形式です. JavaScript のサブセットに基づいています. データを表すためにプログラミング言語から完全に独立した形式を使用し、言語やプラットフォームを超えて使用できます.簡潔で明確な階層構造により、JSON は徐々に XML に取って代わり、Web 開発の分野で広く使用されている最も理想的なデータ交換形式になります。

「 JSONとは」についてわかりやすく解説!絶対に観るべきベスト2動画

JSONについてわかりやすく説明します
【Pythonプログラミング入門】JSONを解説!( jsonモジュール ) 〜VTuberと学習〜 【初心者向け】