Rumah >hujung hadapan web >tutorial js >Sambungan JSON untuk menulis fail konfigurasi dan menghuraikan data

Sambungan JSON untuk menulis fail konfigurasi dan menghuraikan data

Susan Sarandon
Susan Sarandonasal
2024-11-07 00:29:021066semak imbas

JSON Extensions for writing config files and parsing data

JSON ialah format yang agak mudah, ini menjadikannya mudah untuk digunakan, difahami dan dihuraikan.
Tetapi kadangkala anda memerlukan lebih daripada itu, mari lihat beberapa sambungan JSON biasa.

EJSON

JSON lanjutan adalah sama seperti bunyinya. Dialek JSON ini menyokong jenis data tambahan seperti tarikh dan juga membolehkan anda menambah jenis anda sendiri.

Berikut ialah contoh yang menunjukkan perbezaan antara JSON biasa dan EJSON apabila ia berkaitan dengan mensiri dan menghuraikan semula objek yang mengandungi tarikh.

const EJSON = require('ejson')

const event = {
  name: 'test',
  created_at: new Date()
}

const stingifiedJSON = JSON.stringify(event)
const stingifiedEJSON = EJSON.stringify(event)

// stringified
console.log(stingifiedJSON) // {"name":"test","created_at":"2024-11-06T00:00:00Z"}
console.log(stingifiedEJSON) // {"name":"test","created_at":{"$date":1730851200000}}

// re-parsed
console.log(typeof JSON.parse(stingifiedJSON).created_at) // string
console.log(EJSON.parse(stingifiedEJSON).created_at instanceof Date) // true

Ini amat berguna untuk menghuraikan semula data bersiri, contohnya apabila menghantarnya melalui rangkaian.
EJSON ialah apa yang MongoDB gunakan di bawah hud (selain BSON, format binari JSON).

Antara sambungan JSON yang disenaraikan dalam artikel ini, ini adalah satu-satunya sambungan yang JSON biasa dapat menghuraikan juga!

NDJSON

JSON Terhad Baris Baharu biasanya digunakan untuk menstrim satu objek JSON pada satu masa.

Beginilah rupanya:

{"name":"test","created_at":"2024-11-02T00:00:00Z"}
{"name":"test 2","created_at":"2024-11-04T00:00:00Z"}
{"name":"test 3","created_at":"2024-11-06T00:00:00Z"}

Apa yang berbeza dengan JSON biasa ialah kekurangan membungkus data dalam tatasusunan dan kekurangan koma selepas setiap baris (kerana ia dibatasi baris baharu). Ini menjadikannya calon yang sesuai untuk penstriman.

Selain daripada penstriman JSON, saya juga telah melihat format ini digunakan (bersama-sama dengan EJSON) dalam klien NoSQL untuk mengeksport dan mengimport dokumen.

JSONC / JSON5

Untuk yang seterusnya terdapat pelbagai pelaksanaan yang masing-masing menambah rasa tersendiri. Mari lihat JSON5 kerana ia adalah yang paling lengkap.

Mereka semua cuba mencapai matlamat yang sama: format JSON yang boleh dibaca dan dilonggarkan oleh manusia untuk mengurus fail konfigurasi.

JSON5 membolehkan anda menambah ulasan, koma di belakang, pemisah baris, kekunci nyah petikan, antara banyak perkara lain.

{
  // You can add comments!!
  unquoted: '< unquoted keys!',
  singleQuotes: 'I can use "double quotes" here',
  lineBreaks: "Supports line breaks!\
No \n's!",
}

Seperti yang anda lihat, sambungan JSON terdapat dalam semua bentuk dan saiz. Ada yang dimaksudkan untuk digunakan oleh aplikasi, yang lain membenarkan pembangun membuat fail konfigurasi dengan lebih mudah.
Lain kali anda perlu mensiri/menghuraikan JSON, lihat jika salah satu sambungan itu masuk akal untuk kes penggunaan anda!

Atas ialah kandungan terperinci Sambungan JSON untuk menulis fail konfigurasi dan menghuraikan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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