2016-04-03 27 views
0

numaralı yöntemde hiçbir yöntem itme yok Kullanıcı ayrıntılarının kimlik doğrulama için kullanılabilmesi için, kayıt formundan json dosyasına kullanıcı ayrıntılarını eklemeye çalışıyorum. Sorunnesnesi, node js

ben googling ve hiçbir şey tarafından bulunan farklı yöntem denedi
var filename= "./user_login.json"; 
var contents = fs.readFileSync(filename); 
var jsonContent = JSON.parse(contents); 
//sample data 
var data =[ 
{ 
    "try" : "till success" 
} 
]; 

jsonContent.push(data); 

fs.writeFileSync(filename,jsonContent); 

bugüne kadar çalıştı, ben şimdiye kadar is denedi doğru format.The kodunda json dosyası mümkün ekleme değilim olduğunu. Verilerin doğru biçimde kaydedilmesini istiyorum. Çoğu zaman bu hatayı aldığım gibi itme fonksiyonu yoktur. Peki buna alternatif nedir? i arıyorum doğru biçimde

[ 
    user1-details : { 
     //user1 details 
    }, 

    user2-deatils : { 

    }//So on 
] 
+0

6 Neden JSON dosyasını okumak ve ayrıştırmak için 'require ('./ user_login.json')' kullanmıyoruz? –

cevap

2

Nesne hiçbir itme işlevi vardır vardır, diziler yapmak. Kişisel json bir dizi de geç kalmayın geçersiz:, Push özelliğini kullanabilirsiniz Şimdi

[ // here 
    { 
     //user1 details 
    }, 

    { 
     //So on 
    } 
] // and here 

(). Ancak, data bir dizi sizin json dosyasında nesneleri dizisi istiyorsanız, basit bir nesne olmalıdır şöyledir:

var data = { 
    "try" : "till success" 
}; 

Ayrıca, dosyayı geri yazmadan önce nesneyi stringify zorunda:

fs.writeFileSync(filename, JSON.stringify(jsonContent)); 

sen node-json-db gibi bir şey kullanmayı düşünmelisiniz, bu dosya (lar) yazma/okuma ilgilenir ve bunu fonksiyonları (save(), push() ...) Yardımcısı verir.