ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript JSON のマスター: 解析、文字列化、その他

JavaScript JSON のマスター: 解析、文字列化、その他

DDD
リリース: 2024-12-24 16:01:14
オリジナル
297 人が閲覧しました

Mastering JavaScript JSON: Parsing, Stringifying, and Beyond

JavaScript JSON: 基本と応用を理解する

JSON (JavaScript Object Notation) は、人間が読み書きしやすく、マシンが解析して生成するのが簡単な軽量のデータ交換形式です。そのシンプルさとほとんどのプログラミング言語との互換性により、Web サーバーとクライアント間のデータ交換の標準となっています。


JSON とは何ですか?

JSON は、キーと値のペアと配列を使用して構造化データを表すテキストベースの形式です。これは JavaScript から派生したものですが、多くのプログラミング環境で広く使用されています。

JSON の例:

{
  "name": "John Doe",
  "age": 30,
  "isStudent": false,
  "courses": ["Math", "Science", "History"],
  "address": {
    "street": "123 Main St",
    "city": "New York",
    "zip": "10001"
  }
}
ログイン後にコピー
ログイン後にコピー

JSON 構文ルール

  1. データはキーと値のペアにあります: キーは常に文字列であり、値は文字列、数値、配列、オブジェクト、または null のいずれかになります。
   { "key": "value" }
ログイン後にコピー
ログイン後にコピー
  1. 二重引用符のみ:

    文字列は二重引用符 (") で囲む必要があります。

  2. 末尾のカンマなし:

    JSON では、最後のキーと値のペアまたは配列要素の後にカンマを付けることはできません。

  3. 入れ子構造をサポートします:

    オブジェクトと配列は相互にネストできます。


JavaScript での JSON の操作

JavaScript には、JSON 文字列をオブジェクトに解析したり、オブジェクトを JSON に文字列化したりするための組み込みメソッドが用意されています。

1. JSON を解析中

JSON 文字列を JavaScript オブジェクトに変換します。

const jsonString = '{"name": "John", "age": 30}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // Output: John
ログイン後にコピー
ログイン後にコピー

2.オブジェクトの文字列化

JavaScript オブジェクトを JSON 文字列に変換します。

const jsObject = { name: "Jane", age: 25 };
const jsonString = JSON.stringify(jsObject);
console.log(jsonString); // Output: {"name":"Jane","age":25}
ログイン後にコピー
ログイン後にコピー

JSON の使用例

  1. データストレージ: JSON は、構成ファイルや小さなデータセットを保存するためによく使用されます。 例:
   {
     "theme": "dark",
     "language": "en",
     "showNotifications": true
   }
ログイン後にコピー
ログイン後にコピー
  1. API レスポンス: Web API は通常、サーバーとクライアントの間でデータを送信するために JSON を使用します。 例: 天気 API 応答:
   {
     "location": "New York",
     "temperature": 25,
     "forecast": ["Sunny", "Cloudy", "Rain"]
   }
ログイン後にコピー
  1. ローカルストレージ: JSON を使用すると、ブラウザの localStorage または sessionStorage にデータを保存したり取得したりできます。
   const user = { name: "Alice", age: 28 };
   localStorage.setItem("user", JSON.stringify(user));
   const retrievedUser = JSON.parse(localStorage.getItem("user"));
   console.log(retrievedUser.name); // Output: Alice
ログイン後にコピー

高度な JSON テクニック

1. JSON での配列の処理

JSON は値として配列をサポートします。

const jsonString = '{"students": ["Alice", "Bob", "Charlie"]}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.students[1]); // Output: Bob
ログイン後にコピー

2.深くネストされた JSON

ドット表記または括弧表記を使用して、ネストされた値にアクセスします。

{
  "name": "John Doe",
  "age": 30,
  "isStudent": false,
  "courses": ["Math", "Science", "History"],
  "address": {
    "street": "123 Main St",
    "city": "New York",
    "zip": "10001"
  }
}
ログイン後にコピー
ログイン後にコピー

3.エラー処理

無効な JSON を解析する際のエラーを処理するには、try-catch ブロックを使用します。

   { "key": "value" }
ログイン後にコピー
ログイン後にコピー

JSON の制限

  1. データ型: JSON は、関数、日付、または未定義の値を直接サポートしません。
const jsonString = '{"name": "John", "age": 30}';
const jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // Output: John
ログイン後にコピー
ログイン後にコピー
  1. 循環参照: JSON はオブジェクト内の循環参照を処理できません。
const jsObject = { name: "Jane", age: 25 };
const jsonString = JSON.stringify(jsObject);
console.log(jsonString); // Output: {"name":"Jane","age":25}
ログイン後にコピー
ログイン後にコピー

他の形式との比較

Feature JSON XML YAML
Readability High Moderate High
Verbosity Low High Low
Compatibility High High Moderate
Data Types Limited Flexible Flexible

JSON のベスト プラクティス

  1. JSON を検証します:

    jsonlint.com などのツールを使用して、JSON 構造を検証します。

  2. 一貫した書式設定を使用する:

    読みやすくするために一貫したインデントを維持してください。

  3. API のサイズを最小化する:

    効率的なデータ転送のために不要な空白を削除します。

    例:

   {
     "theme": "dark",
     "language": "en",
     "showNotifications": true
   }
ログイン後にコピー
ログイン後にコピー

結論

JSON は現代の Web 開発の基礎であり、データを表現し交換するためのシンプルかつ強力な方法を提供します。 API を使用する場合でも、構成ファイルを保存する場合でも、ブラウザー ストレージを処理する場合でも、開発者にとって JSON を理解することは不可欠です。 JSON を効果的に活用することで、堅牢かつ動的でスケーラブルなアプリケーションを構築できます。

こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。

以上がJavaScript JSON のマスター: 解析、文字列化、その他の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート