JSON チュートリアル: 単純なファイル形式の例で学ぶ
JSONとは何ですか?
JSONの 情報を整理して簡単にアクセスできるように保存するために使用されるファイル形式です。完全な形式は次のとおりです。 Javaスクリプトオブジェクト表記法。論理的にアクセスできる、人間が読めるデータのコレクションを提供します。記述されたプログラミングコードのファイル名拡張子は .json
。 JSON のインターネット メディア タイプは application/json で、その統一タイプ識別子は public.json です。
JSON を使用する理由
JSON を使用することの重要な利点/長所は次のとおりです。
- すべてのブラウザのサポートを提供する
- 読み書きが簡単
- 単純な構文
- ネイティブに解析できる Javaeval() 関数を使用したスクリプト
- 作成と操作が簡単
- すべての主要企業でサポート Javaスクリプトフレームワーク
- ほとんどのバックエンドテクノロジーでサポートされています
- JSONはネイティブに認識されます Javaスクリプト
- これにより、ネットワーク接続を使用して構造化データを送信およびシリアル化できます。
- 最新のプログラミング言語で使用できます。
- JSONは、任意のオブジェクトに変換できるテキストです。 JavaJSON にスクリプト化し、この JSON をサーバーに送信します。
JSONの歴史
JSON の歴史を形成する重要なランドマークを以下に示します。
- Douglas Crockford は 2000 年代初頭に JSON 形式を指定しました。
- 公式ウェブサイトは2002年に開設されました。
- 2005 年 XNUMX 月、Yahoo! は、一部の Web サービスを JSON で提供し始めます。
- JSON は 2013 年に ECMA 国際標準になりました。
- 最新の JSON 形式標準は 2017 年に公開されました。
JSONの特徴
簡単に使える – JSON API は、一般的に使用されるユースケースを簡素化するのに役立つ高レベルのファサードを提供します。
パフォーマンス – JSON はメモリ消費量が非常に少ないため非常に高速であり、大規模なオブジェクト グラフやシステムに特に適しています。
無料ツール – JSON ライブラリはオープンソースであり、無料で使用できます。
マッピングを作成する必要はありません – Jackson API は、シリアル化される多くのオブジェクトのデフォルト マッピングを提供します。
クリーンな JSON – 読みやすい、クリーンで互換性のある JSON 結果を作成します。
依存関係 – JSON ライブラリの処理には他のライブラリは必要ありません。
JSON 構文のルール
JSON 構文のルールは次のとおりです。
- データは名前と値のペアである必要があります
- データはカンマで区切る必要があります
- 中括弧はオブジェクトを保持する必要があります
- 角括弧は配列を保持する
JSON のデータ型
JSON で使用される重要なデータ型は次のとおりです。
Data Type | 詳細説明 |
---|---|
数 | 実数、整数、または浮動小数点数が含まれます |
String | バックスラッシュでエスケープされた任意のテキストまたはUnicodeの二重引用符で構成されます |
ブーリアン | ブール値データ型は、True または False の値を表します。 |
ヌル | Null 値は、関連付けられた変数に値がないことを示します |
オブジェクト | これはキーと値のペアのコレクションであり、常にコンマで区切られ、中括弧で囲まれます。 |
配列 | これは、順序付けられた値が分離されたシーケンスです。 |
数
- 数値は実装方法に依存する倍精度浮動小数点形式です。
- JSON では、XNUMX 進形式と XNUMX 進形式は使用できません。
次の表に数値の種類を示します。
タイプ | 詳細説明 |
---|---|
整数 | 1~9、0 の数字。正の数と負の数の両方。 |
分数 | 3のような分数 |
Exponent | e、e+ のような指数 |
構文:
var json-object-name = { string : number_value,......}
例:
var obj = {salary: 2600}
String
これは、二重引用符で囲まれ、バックスラッシュでエスケープされた一連の Unicode 文字です。
次の表は、さまざまな文字列タイプを示しています。
タイプ | 詳細説明 |
---|---|
* | 二重引用符の入力に使用 |
/ | ソリダスに使用 |
\ | 逆立体線に使用 |
B | バックスペースを追加するために使用します |
F | フィードから |
N | 新しい行を作成するには |
R | キャリッジリターンに使用 |
T | 水平タブを表示するには |
U | XNUMX進数 |
構文:
var json-object-name = { string : "string value",…..}
例:
var obj= {name: 'Andy'}
ブーリアン
true または false の値のみが保存されます。
構文:
var json-object-name = {string : true/false, …..}
例:
var obj = {active: 'true'}
配列
- これは、順序付けられた値のコレクションです。
- キー名が連続する整数の場合は、配列を使用する必要があります。
- 角括弧で囲み、',' (カンマ) で区切る必要があります。
構文:
[value, .......]
例:
複数のオブジェクトを格納する配列を表示します。
{ "eBooks":[ { "language":"Pascal", "edition":"third" }, { "language":"Python", "edition":"four" }, { "language":"SQL", "edition":"second" } ] }
JSONオブジェクト
A JSONオブジェクト 中括弧で囲まれた JSON のエンティティです。名前と値のペアの順序なしセットで記述され、名前の後には「:」(コロン) が続き、名前と値のペアは「,」(カンマ) で区切る必要があります。キー名が任意の文字列の場合に使用できます。
構文:
{ string : value, ….. }
例:
{ "id": 110, "language": "Python", "price": 1900, }
空白
トークンのペアの間に空白を挿入できます。
例:
構文:
{string:" ",….}
例:
var a = " Alex"; var b = "Steve";
JSONの例
指定されたコード例では、JSON を使用して次の情報に関連する情報を保存する方法を定義しています。 プログラミングの本 版と著者名も一緒に。
{ "book":[ { "id":"444", "language":"C", "edition":"First", "author":"Dennis Ritchie " }, { "id":"555", "language":"C++", "edition":"second", "author":" Bjarne Stroustrup " } ] }
別の JSON ファイルの例で JSON 形式を理解しましょう。 ここで、JSON は学生の名、姓、ID を定義します。
{ "student": [ { "id":"01", "name": "Tom", "lastname": "Price" }, { "id":"02", "name": "Nick", "lastname": "Thameson" } ] }
JSONの応用
JSON の一般的なアプリケーションをいくつか示します。
- サーバーからのデータ転送に役立ちます
- サンプル JSON ファイル形式は、あらゆる種類の構造化データの送信とシリアル化に役立ちます。
- ページを更新せずに非同期データ呼び出しを実行できます
- サーバーと Web アプリケーションの間でデータを送信するのに役立ちます。
- 広く使用されている用途 Javaブラウザ拡張機能と Web サイトを含むスクリプトベースのアプリケーション。
- JSON を使用してサーバーと Web アプリケーションの間でデータを送信できます。
- 最新のプログラミング言語で JSON を使用できます。
- 書くのに使われる Javaブラウザのアドオンを含むスクリプトベースのアプリケーション。
- Web サービスと Restful API は、JSON 形式を使用して公開データを取得します。
JSON と XML の比較
JSON と XML の主な違いは次のとおりです。
JSONの | XML |
---|---|
JSON オブジェクトには型があります | XML データは型なしです |
JSON タイプ: 文字列、数値、配列、ブール値 | すべての XML データは文字列である必要があります |
データは JSON オブジェクトとして簡単にアクセスできます | XML データを解析する必要があります。 |
JSON ファイルは人間にとってより読みやすいです。 | XML ファイルは人間にとって判読しにくいです。 |
JSON はほとんどのブラウザでサポートされています。 | クロスブラウザーでの XML 解析は難しい場合がある |
JSON には表示機能がありません。 | XML はマークアップ言語であるため、データを表示する機能を提供します。 |
値の取得は簡単です | 値の取得が難しい |
多くの Ajax ツールキットでサポートされています | Ajax ツールキットでは完全にはサポートされていません |
完全に自動化された逆シリアル化/シリアル化の方法 Java脚本。 | 開発者は書く必要がある JavaXML からシリアル化/デシリアル化するためのスクリプト コード |
オブジェクトのネイティブ サポート。 | オブジェクトは規約に従って表現する必要がありますが、属性や要素の使用がほとんど省略されています。 |
JSONの例
以下は簡単な JSON の例です。
{ "student": [ { "id":"01", "name": "Tom", "lastname": "Price" }, { "id":"02", "name": "Nick", "lastname": "Thameson" } ] }
XMLの例
<?xml version="1.0" encoding="UTF-8" ?> <root> <student> <id>01</id> <name>Tom</name> <lastname>Price</lastname> </student> <student> <id>02</id> <name>Nick</name> <lastname>Thameson</lastname> </student> </root>
JSON ではないものは何ですか?
- サンプル JSON データ ファイルはドキュメント形式ではありません。
- マークアップ言語ではありません。
- JSON は一般的なシリアル化形式を提供しません。
- それは反復的または循環的な構造ではありません。
- また、目に見えない構造物でもありません。
JSONの欠点
JSON には次のような利点があります。
- 名前空間がサポートされていないため、拡張性が低い
- 限定的 開発ツール 対応
- 正式な文法定義はサポートされていません
人気の JSON ツール (アドオン)
重要な JSON ツールは次のとおりです。
JSONLint:
JSONLint は、JSON の検証およびリフォーマッタとして使用されるオープンソース プロジェクトです。 これは軽量のデータ交換フォーマットです。 JSON コードを検証するには、JSON 検証ツールに URL をコピーして貼り付けるか、直接入力するか、入力します。
リンク: https://jsonlint.com
JSON エディター オンライン:
JSON Editor Online は、便利な Web ベースのツールです。 JSON を編集、表示、フォーマットすることができます。 データを並べて明確に編集可能に表示します。 コードエディターソフトウェア.
リンク: https://jsoneditoronline.org/
JSON ミニファイア ツール:
これは、空白を削除し、スペースを最小限に抑える JSON コードを提供するのに役立つツールです。
リンク: https://www.browserling.com/tools/json-minify
JSON から XML へのコンバーター:
JSON から XML へのコンバーターは、JSON コードの変換に役立つシンプルで効果的なツールです。
リンク: https://codebeautify.org/jsontoxml
JSON フォーマッタ:
JSON フォーマッタは、人間が読みやすくデバッグしやすいように JSON データをフォーマットすることで問題を解決するのに役立ちます。
リンク:https://jsonformatter.curiousconcept.com/
製品概要
- JSON メソッドは、情報を整理してアクセスしやすい方法で保存するために使用されます。
- JSONは Javaスクリプト オブジェクト表記。
- JSON は、多くの言語で提供されるすべてのブラウザーのサポートを提供します。
- Douglas Crockford は 2000 年代初頭に JSON 形式を指定しました
- JSON API は高レベルのファサードを提供し、一般的に使用されるユースケースを簡素化するのに役立ちます
- JSON システムを記述するための重要なルールは、データを名前と値のペアで記述する必要があることです。
- Number、String、Boolean、Null、Object、Array は、JSON で使用される重要なデータ型です。
- サーバーからデータを転送するのに役立ちます。
- JSON オブジェクトには型がありますが、XML データには型がありません
- JSON はドキュメント形式ではありません
- 名前空間がサポートされていないため、拡張性が低い
- JSONLint は、JSON の検証およびリフォーマッタとして使用されるオープンソース プロジェクトです。