Rumah > hujung hadapan web > tutorial js > Menguasai Pengendalian JSON dalam JavaScript: Parsing dan Stringifying

Menguasai Pengendalian JSON dalam JavaScript: Parsing dan Stringifying

Linda Hamilton
Lepaskan: 2024-12-28 13:58:10
asal
828 orang telah melayarinya

Mastering JSON Handling in JavaScript: Parsing and Stringifying

Pengendalian JSON dalam JavaScript (Penghuraian dan Pencabutan)

JSON (JavaScript Object Notation) ialah format pertukaran data ringan yang mudah dibaca dan ditulis oleh manusia serta mudah dihuraikan dan dijana oleh mesin. JavaScript menyediakan kaedah terbina dalam untuk menghuraikan rentetan JSON ke dalam objek dan menukar objek kepada rentetan JSON.


1. Menghuraikan Rentetan JSON

Kaedah JSON.parse() digunakan untuk menukar rentetan JSON kepada objek JavaScript.

Sintaks

JSON.parse(text[, reviver]);
Salin selepas log masuk
Salin selepas log masuk
  • teks: Rentetan JSON untuk dihuraikan.
  • reviver (pilihan): Fungsi untuk mengubah objek yang dihuraikan sebelum mengembalikannya.

Contoh

A. Penghuraian Mudah

const jsonString = '{"name": "John", "age": 30}';
const parsedData = JSON.parse(jsonString);
console.log(parsedData.name); // Output: John
console.log(parsedData.age);  // Output: 30
Salin selepas log masuk

B. Menggunakan Fungsi Reviver
Fungsi reviver boleh digunakan untuk menyesuaikan proses penghuraian.

const jsonString = '{"name": "John", "birthYear": 1990}';
const parsedData = JSON.parse(jsonString, (key, value) => {
  if (key === "birthYear") {
    return 2024 - value; // Convert birth year to age
  }
  return value;
});
console.log(parsedData.birthYear); // Output: 34
Salin selepas log masuk

Pengendalian Ralat

Sentiasa balut JSON.parse() dalam percubaan...tangkap blok untuk mengendalikan JSON yang tidak sah.

const invalidJson = "{name: 'John', age: 30}"; // Invalid JSON (keys must be in quotes)
try {
  const data = JSON.parse(invalidJson);
} catch (error) {
  console.error("Invalid JSON:", error.message);
}
Salin selepas log masuk

2. Merangkai Objek JavaScript

Kaedah JSON.stringify() menukar objek JavaScript kepada rentetan JSON.

Sintaks

JSON.stringify(value[, replacer[, space]]);
Salin selepas log masuk
  • nilai: Objek yang akan dirangkaikan.
  • pengganti (pilihan): Fungsi atau tatasusunan untuk menapis sifat.
  • ruang (pilihan): Menambah lekukan untuk kebolehbacaan yang lebih baik.

Contoh

A. Stringifying Mudah

const data = { name: "John", age: 30 };
const jsonString = JSON.stringify(data);
console.log(jsonString); // Output: {"name":"John","age":30}
Salin selepas log masuk

B. Menggunakan Fungsi Pengganti
Fungsi pengganti menapis atau mengubah sifat objek.

const data = { name: "John", age: 30, password: "secret" };
const jsonString = JSON.stringify(data, (key, value) => {
  if (key === "password") return undefined; // Exclude passwords
  return value;
});
console.log(jsonString); // Output: {"name":"John","age":30}
Salin selepas log masuk

C. Menambah Lekukan
Parameter ruang memformatkan output dengan lekukan.

const data = { name: "John", age: 30 };
const jsonString = JSON.stringify(data, null, 2);
console.log(jsonString);
// Output:
// {
//   "name": "John",
//   "age": 30
// }
Salin selepas log masuk

Pengendalian Ralat

Rujukan bulat dalam objek menyebabkan JSON.stringify() membuang ralat.

const circularObject = {};
circularObject.self = circularObject;
try {
  JSON.stringify(circularObject);
} catch (error) {
  console.error("Cannot stringify circular object:", error.message);
}
Salin selepas log masuk

3. Kes Penggunaan Praktikal

A. Menghantar Data ke Pelayan

Tukar objek JavaScript kepada rentetan JSON sebelum menghantarnya dalam permintaan HTTP.

const data = { name: "John", age: 30 };
fetch("https://example.com/api", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify(data)
});
Salin selepas log masuk

B. Menyimpan Data dalam Storan Setempat

Simpan dan dapatkan semula data dalam format JSON menggunakan localStorage.

const data = { name: "John", age: 30 };
localStorage.setItem("user", JSON.stringify(data)); // Storing data

const userData = JSON.parse(localStorage.getItem("user")); // Retrieving data
console.log(userData.name); // Output: John
Salin selepas log masuk

C. Objek Penyalinan Dalam

Menggunakan kaedah JSON untuk mencipta salinan dalam objek (tidak berfungsi untuk fungsi atau rujukan bulat).

JSON.parse(text[, reviver]);
Salin selepas log masuk
Salin selepas log masuk

4. Perbezaan Antara JSON dan Objek JavaScript

JSON JavaScript Object
Text format (string) In-memory data structure
Keys must be strings (quoted) Keys can be strings or symbols
Cannot store methods/functions Can store methods/functions

5. Ringkasan

  • Gunakan JSON.parse() untuk menukar rentetan JSON kepada objek JavaScript.
  • Gunakan JSON.stringify() untuk menukar objek JavaScript kepada rentetan JSON.
  • JSON adalah penting untuk pertukaran data dalam aplikasi web, terutamanya dengan API dan storan setempat.
  • Sentiasa mengendalikan ralat semasa menghuraikan atau menyusun JSON.

Menguasai pengendalian JSON ialah kemahiran penting untuk membina aplikasi web berasaskan data yang moden.

Hai, saya Abhay Singh Kathayat!
Saya seorang pembangun tindanan penuh dengan kepakaran dalam kedua-dua teknologi hadapan dan belakang. Saya bekerja dengan pelbagai bahasa pengaturcaraan dan rangka kerja untuk membina aplikasi yang cekap, berskala dan mesra pengguna.
Jangan ragu untuk menghubungi saya melalui e-mel perniagaan saya: kaashshorts28@gmail.com.

Atas ialah kandungan terperinci Menguasai Pengendalian JSON dalam JavaScript: Parsing dan Stringifying. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan