開発者であれば、JSON (JavaScript Object Notation) について聞いたことがあるでしょう。どこにでもあるよ! API から構成ファイルに至るまで、JSON はデータ交換の頼りになる形式です。しかし、Node.js ではどのように操作できるのでしょうか?途中で役立つ実際の例をいくつか挙げながら、簡単に説明しましょう。
簡単に言うと、JSON はデータを保存および交換するための形式です。読み書きが簡単なため、Web 開発で非常に人気があります。次のようになります:
{ "name": "Alice", "age": 25, "city": "Wonderland" }
これは基本的に、JavaScript オブジェクトのようなキーと値のペアのコレクションです。ただし、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.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 として保存する場合に非常に便利です。
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() はそれをファイルに保存します。簡単!
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 データを取得した場合はどうすればよいですか?心配はいりません。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 つが手に入ります!
読んでいただきありがとうございます。コーディングを楽しんでください! ?
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3