Saya mencoba menulis objek JSON ke file JSON. Kode dijalankan tanpa kesalahan, tetapi alih-alih konten objek ditulis, semua yang ditulis ke dalam file JSON adalah:
[object Object]
Ini adalah kode yang sebenarnya menulis:
fs.writeFileSync('../data/phraseFreqs.json', output)
'output' adalah objek JSON, dan file tersebut sudah ada. Tolong beritahu saya jika informasi lebih lanjut diperlukan.
Jawaban:
Anda perlu merangkai objek.
sumber
fs.writeFileSync('../data/phraseFreqs.json', JSON.stringify(output, null, 2));
Selengkapnya: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…Saya tidak berpikir Anda harus menggunakan pendekatan sinkron, menulis data secara asinkron ke file lebih baik juga merangkai
output
jika ituobject
.Catatan: Jika
output
adalah sebuah string, maka tentukan encodingnya dan ingat jugaflag
opsinya .:Menambahkan metode Sinkron untuk menulis data ke file, tetapi harap pertimbangkan kasus penggunaan Anda. Eksekusi Asinkron vs Sinkron, Apa Artinya Sebenarnya?
sumber
Jadikan json manusia dapat dibaca dengan meneruskan argumen ketiga ke
stringify
:sumber
Saat mengirim data ke server web, data harus berupa string (di sini ). Anda dapat mengubah objek JavaScript menjadi string dengan
JSON.stringify()
. Berikut adalah contoh yang berfungsi:Semoga bisa membantu.
sumber
Berikut variasinya, menggunakan versi
fs
yang menggunakan promise:sumber