Ini sepertinya masalah yang sudah dipecahkan, tetapi saya tidak dapat menemukan solusi untuk itu.
Pada dasarnya, saya membaca file JSON, mengubah kunci, dan menulis kembali JSON baru ke file yang sama. Semua berfungsi, tapi saya kehilangan format JSON. Jadi, alih-alih:
{
name:'test',
version:'1.0'
}
saya mendapat
{name:'test',version:'1.1'}
Apakah ada cara di Node.js untuk menulis JSON yang diformat dengan baik ke file?
JSON.stringify
tersedak objek siklik, danutil.inspect
tidak menghasilkan json yang valid. : \ Saya tidak menemukan solusi [asli] untuk mencetak JSON cantik di NodeJSJawaban:
JSON.stringify
Parameter ketiga mendefinisikan penyisipan white-space untuk pencetakan cantik. Ini bisa berupa string atau angka (jumlah spasi). Node dapat menulis ke sistem file Anda denganfs
. Contoh:Lihat dokumen JSON.stringify () di MDN , Node fs docs
sumber
"\t"
jika Anda ingin tab.Saya pikir ini mungkin berguna ... Saya suka kode contoh :)
sumber
tmp
folder itu ada atau ini mungkin gagal.tmp
folder ada secara defaultJika Anda hanya ingin mencetak objek dengan cantik dan tidak mengekspornya sebagai JSON yang valid, Anda dapat menggunakannya
console.dir()
.Ini menggunakan penyorotan sintaks, indentasi pintar, menghilangkan tanda kutip dari kunci dan hanya membuat output secantik yang didapatnya.
Di bawah tenda itu adalah jalan pintas untuk
console.log(util.inspect(…))
. Satu-satunya perbedaan adalah ia mem-bypassinspect()
fungsi kustom apa pun yang didefinisikan pada objek.sumber
Jika Anda tidak ingin menyimpan ini di mana pun, tetapi hanya melihat objek untuk tujuan debugging.
Anda dapat mengubah parameter ketiga untuk menyesuaikan indentasi.
sumber
bagaimana dengan ini?
sumber