v2.5.2
Giriş yap

getjson kullanımı hakkında

g4rymckinn0n
300 defa görüntülendi

kripto para fiyatları aldığım bir json var ve ben bunu jquery ile göstermek istiyorum.

$source = 'https://api.site.com/veri';
$currency = json_decode(file_get_contents($source),true);

buradan gelen veri şu şekilde:

{
"symbol": "ETHBTC",
"price": "0.06612800"
},
{
"symbol": "LTCBTC",
"price": "0.00269400"
},
{
"symbol": "BNBBTC",
"price": "0.00963400"
},

ben ETHBTC kısmını almak için şunu yazdım:

$.getJSON('<?= $source ?>', data => {
            $("#ETHBTC").html(data.0.price)
        })

veriyi göstermek istediğim alan burası. ilk yüklemede veri geliyor bu arada.

<td><span id="ETHBTC"><?=$currency['0']['price'];?></span></td>

sanırım ben json içerisindeki veriye ulaşamıyorum getjson alanında

Cevap yaz
Cevaplar (5)
makifgokce
787 gün önce

arrayin ilk elemanına ulaşmak için data[0].price yapabilirsin ama sen data.0.price yapmışsın böyle bir kullanım yok

g4rymckinn0n
787 gün önce

@ibrahimyesil hocam yanıt için teşekkür ederim. gelen veri json. tabii başka bir şekilde ifade ediliyor ise bilmiyorum.
ajax ile jquery arasındaki farkları araştırıp hangisinin daha az kaynak tükettiğini ve hangisinin avantajlı olduğunu araştırıyorum.
öğrenmeye çalıştığım için böyle sorular soruyorum sürekli. desteğiniz için teşekkür ederim.

g4rymckinn0n
787 gün önce

@makifgokce hocam teşekkür ederim şu şekilde çalıştı:

const ethbtc = data.find(i => i.symbol == "ETHBTC")

$("#ETHBTC").html(ethbtc.price)

benim hatam neymiş, burada tam olarak ne yaptık açıkçası öğrenmek için yapıyorum bu işlemleri. vaktiniz olduğunda özet geçerseniz çok sevinirim.

ibrahimyesil
787 gün önce

Merhaba,
Gelen datanın "typeof" ile bir tipine bakın. Getjson fonksiyonunu ilk defa gördüm açıkçası. Baktığımda ise ajax ile aynı işi yapıyor.
Ajax ilede istek atıp veriyi alabilirsiniz.
Json string dönüyorsa eğer JSON.parse() ile string veriyi dönüştürüp kullanabilirsiniz.
Hata vs. varsa ekran görüntüsü olarak onuda eklerseniz bakabiliriz buradan.
Kolay gelsin.

makifgokce
787 gün önce
$.getJSON('<?= $source ?>', data => {
    const ethbtc = data.find(i => i.symbol == "ETHBTC")
    $("#ETHBTC").html(ethbtc.price)
    // veya 
    // $("#ETHBTC").html(data[0].price)
})