JSONとは何ですか?

Barbara Streisand
リリース: 2024-09-21 06:30:18
オリジナル
345 人が閲覧しました

What is JSON?

JSON の操作

開発者であれば、JSON (JavaScript Object Notation) について聞いたことがあるでしょう。どこにでもあるよ! API から構成ファイルに至るまで、JSON はデータ交換の頼りになる形式です。しかし、Node.js ではどのように操作できるのでしょうか?途中で役立つ実際の例をいくつか挙げて、簡単に説明しましょう。


JSONとは何ですか?

簡単に言うと、JSON はデータを保存および交換するための形式です。読み書きが簡単なため、Web 開発で非常に人気があります。次のようになります:

{
  "name": "Alice",
  "age": 25,
  "city": "Wonderland"
}
ログイン後にコピー

これは基本的に、JavaScript オブジェクトのようなキーと値のペアのコレクションです。ただし、JSON は単なるテキストであることを覚えておいてください。コードで使用するには、オブジェクトに変換する必要があります。


Node.js での JSON の解析

まず、JSON 文字列を取得し、それを操作できるもの (JavaScript オブジェクト) に変換しましょう。これは JSON.parse() を使用して行います。

例: JSON の解析

const jsonString = '{"name": "Alice", "age": 25, "city": "Wonderland"}';
const jsonObject = JSON.parse(jsonString);

console.log(jsonObject.name); // Output: Alice
ログイン後にコピー

これは、JSON 文字列を取得して解析し、JavaScript オブジェクトに変換します。名前、年齢、都市などのプロパティにアクセスできるようになりました。


オブジェクトを JSON に変換する

データを JSON として送信する必要がある場合はどうすればよいですか?ここで、JSON.stringify() が登場します。これは、JavaScript オブジェクトを取得して、JSON 文字列に変換します。

例: オブジェクトを JSON に変換する

const user = {
  name: "Alice",
  age: 25,
  city: "Wonderland"
};

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

これは、API を構築する場合やデータを JSON として保存する場合に非常に便利です。


Node.js での JSON ファイルの読み取りと書き込み

JSON ファイルを使用する必要がありますか? Node.js では、fs (ファイル システム) モジュールを使用してそれを簡単に実行できます。手間をかけずに JSON ファイルの読み書きができます。

例: JSON ファイルの読み取り

const fs = require('fs');

fs.readFile('data.json', 'utf8', (err, data) => {
  if (err) {
    console.error(err);
    return;
  }
  const jsonData = JSON.parse(data);
  console.log(jsonData);
});
ログイン後にコピー

ここでは、fs.readFile() を使用して JSON ファイルを読み取り、ファイルの内容を JavaScript オブジェクトに解析します。これで、データを使って何でもできるようになりました!

例: JSON ファイルへの書き込み

const fs = require('fs');

const user = {
  name: "Alice",
  age: 25,
  city: "Wonderland"
};

fs.writeFile('output.json', JSON.stringify(user, null, 2), (err) => {
  if (err) {
    console.error(err);
    return;
  }
  console.log('Data saved to output.json');
});
ログイン後にコピー

この場合、JSON.stringify() はオブジェクトを適切なフォーマットされた JSON 文字列に変換し、fs.writeFile() はそれをファイルに保存します。簡単!


HTTP リクエストによる JSON の送受信

API を構築する場合、データの送受信には JSON が最適な形式です。 Express.js では、JSON データを簡単に送受信できます。

例: 応答で JSON を送信する

const express = require('express');
const app = express();

app.get('/user', (req, res) => {
  const user = { name: "Alice", age: 25, city: "Wonderland" };
  res.json(user);
});

app.listen(3000, () => console.log('Server running on port 3000'));
ログイン後にコピー

ここでは、HTTP GET リクエストへの応答として JSON オブジェクトを送信します。 res.json() を呼び出すのと同じくらい簡単です!

例: リクエストで JSON を受信する

app.use(express.json()); // Middleware to parse JSON body

app.post('/user', (req, res) => {
  const user = req.body;
  console.log(user); // Output: { name: "Alice", age: 25, city: "Wonderland" }
  res.send('User received!');
});
ログイン後にコピー

この例では、express.json() ミドルウェアを使用して、リクエスト本文から受信した JSON データを自動的に解析し、使用可能な JavaScript オブジェクトに変換します。


JSON エラーの処理

不正な JSON データを取得した場合はどうすればよいですか?心配はいりません。Node.js にはエラー処理が組み込まれています。これらのエラーを検出する方法を見てみましょう。

例: 解析エラーの処理

const faultyJson = '{"name": "Alice", "age": 25'; // Oops, missing closing bracket

try {
  const jsonObj = JSON.parse(faultyJson);
} catch (error) {
  console.error('Failed to parse JSON:', error.message);
}
ログイン後にコピー

JSON が壊れている場合、JSON.parse() はエラーをスローします。この場合、try-catch ブロックはそれを適切に処理するのに役立ちます。


まとめ

Node.js でデータを操作する場合は、JSON について知っておく必要があります。 JSON データの解析、作成、読み取り、送信のいずれを行う場合でも、Node.js の組み込みメソッドを使用するとそれが簡単になります。 JSON.parse() を使用して文字列をオブジェクトに変換し、JSON.stringify() を使用してその逆を行い、Express.js を使用して API で JSON をスムーズに処理します。

JSON の操作に慣れれば、開発者ツールキットの中で最も価値のあるツールの 1 つを手に入れることができます!


参考文献:

  1. Node.js ドキュメント: JSON の操作
  2. Express.js ガイド: JSON リクエストの処理
  3. MDN Web ドキュメント: JSON.parse()

読んでいただきありがとうございます。コーディングを楽しんでください! ?

以上がJSONとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!