Çözüldü Javascript listelerde yapamadığım yer

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

Akif9748

Kilopat
Katılım
19 Ocak 2020
Mesajlar
4.015
Makaleler
14
Çözümler
52
Node ile bir JSON dosyasına veri yazmaya çalışıyorum. Tek bir sıkıntım var.
Sağdaki değeri değişkenden yazarken soldaki değeri yazmıyor.
JavaScript:
var arabaadi = "GT 86"
var para = "300000"
student = {
     arabaadi : para
 
  };
  let data = JSON.stringify(student);


fs.writeFileSync('./util/carprice.json', data);
Sonuç:
{ "arabaadi" : "300000"}

Bu bu dilin bir özelliği sanırım. Ama Pythonda iki değer de değişken olabiliyordu.
Python:
    bilgi = input("İsim/eposta/şifre")
    bilgiler = bilgi.split("/")
  
    yazı = {
    bilgiler[0] : {
        "email" : bilgiler[1],
        "sifre" : bilgiler[2]
    }

    }
Tırnak içine yazmayınca değişken, içine yazınca ise direkt alıyordu böyle. Sonra da böyle yazıyordu:
JSON:
{

    "İsim" : {

        "email" :"eposta" ,

        "sifre" : "sifre"

    }
    }
Ben bunu yapmayı nasıl başarabilirim?
 
Çözüm
JavaScript obje içerisinde key tarafında doğrudan değişken kullanamıyorsun, fakat bunun bir yolu var. O da, objeyi ilk initialize ederken değil de (ilk tanımlarken), sonradan köşeli parantezler kullanarak alan set etmek. obje["key"] = "value" yapısı kullanıldığında, şu şekilde bir obje ortaya çıkıyor:
[CODE lang="javascript" title="Örnek Obje"]{
"key": "value"
}[/CODE]

Obje üzerinde köşeli parantez kullanarak objenin bir alanını alabilir veya set edebilirsin:
[CODE lang="javascript" title="Get Örneği"]var arabalar = {
"GT 86": 35000
};

arabalar["GT 86"]; // Sonuç: 35000[/CODE]
[CODE lang="javascript" title="Set Örneği"]var arabalar = {
"GT 86": 35000
};

arabalar["Z3"] = 30000;

/* Sonuç:
{
"GT 86": 35000,
"Z3": 30000
}
*/[/CODE]

Elbette string'e karşılık gelen değişkenleri kullanarak da objede bir alanı set edebilmek mümkün:
[CODE lang="javascript" title="Değişken Kullanarak Alan Set Etmek"]var araba_adi = "GT-40";
var araba_fiyati = 30000;
var arabalar = {};

arabalar[araba_adi] = araba_fiyati;

/* Sonuç:
{
"GT-40": 30000
}
*/[/CODE]
[CODE lang="javascript" title="pro"]yazilcak = {
student : {
arabafiyati : 5000,
slm : "technopat"
}
}

let veri = JSON.Stringfy(yazilcak);[/CODE]
O student yazan yerin değişken olması gerekli bu seferde.
Ben db ile yapmaya başladım.
Amaç .json dosyasından sonradan verileri okuyabilmek. GT 86 dediğimde para değerini verebilmesi.
 
O student yazan yerin değişken olması gerekli bu seferde.
Ben db ile yapmaya başladım.
Amaç .json dosyasından sonradan verileri okuyabilmek. GT 86 dediğimde para değerini verebilmesi.
[CODE lang="javascript" title="pro"]let bubirstring = fs.// verinin olduğu json dosyası
let super = JSON.parse(bubirstring)
console.log(super["ARABAMARKASI"])[/CODE]
 
JavaScript obje içerisinde key tarafında doğrudan değişken kullanamıyorsun, fakat bunun bir yolu var. O da, objeyi ilk initialize ederken değil de (ilk tanımlarken), sonradan köşeli parantezler kullanarak alan set etmek. obje["key"] = "value" yapısı kullanıldığında, şu şekilde bir obje ortaya çıkıyor:
[CODE lang="javascript" title="Örnek Obje"]{
"key": "value"
}[/CODE]

Obje üzerinde köşeli parantez kullanarak objenin bir alanını alabilir veya set edebilirsin:
[CODE lang="javascript" title="Get Örneği"]var arabalar = {
"GT 86": 35000
};

arabalar["GT 86"]; // Sonuç: 35000[/CODE]
[CODE lang="javascript" title="Set Örneği"]var arabalar = {
"GT 86": 35000
};

arabalar["Z3"] = 30000;

/* Sonuç:
{
"GT 86": 35000,
"Z3": 30000
}
*/[/CODE]

Elbette string'e karşılık gelen değişkenleri kullanarak da objede bir alanı set edebilmek mümkün:
[CODE lang="javascript" title="Değişken Kullanarak Alan Set Etmek"]var araba_adi = "GT-40";
var araba_fiyati = 30000;
var arabalar = {};

arabalar[araba_adi] = araba_fiyati;

/* Sonuç:
{
"GT-40": 30000
}
*/[/CODE]
 
Çözüm

Yeni konular

Geri
Yukarı