• 23-03-2022, 17:30:22
    #1
    Üyeliği durduruldu
    curl ile bağlatığım bir servisten json veri alıyorum.

    curl ile gelen veriyi $response içinde tutuyorum.

    echo $response ['data']['USDTRY']['alis']; // bunu yazınca çıktı alamıyorum.

    file_put_contents (__DIR__ . DIRECTORY_SEPARATOR . 'veriler.json', $response); //burada veriler.json olarak yazdırdığım dosyaya file_get_content ile bağlanıp denersem veriyi alabiliyorum ama.

    örnek:
    $veriler = file_get_contents = 'veriler.json';
    echo $veriler['data']['USDTRY']['alis'];

    json dizisi ise şöyle;
    "data": {
    "USDTRY": {
    "code": "USDTRY",
    "alis": "14.8350",
    "satis": "14.8540",
    "tarih": "23-03-2022 17:12:05",
    "dir": {
    "alis_dir": "",
    "satis_dir": ""
    },
    "dusuk": 14.806,
    "yuksek": 14.866,
    "kapanis": 14.799
    },

    curl ile gelen veri acaba json olarak gelmiyor mu? gelen veriyi ekrana yazdırınca şu şekilde görünüyor:


    umarım anlatabilmişimdir.
  • Kabul Edilen Cevap
    • Json dosyasını array gibi okumaya çalışıyorsunuz ekranda çıktı alamamanızın sebebi bu, aşağıdaki gibi deneyin
      $veriler = file_get_contents = 'veriler.json';
      $array = json_decode($veriler);
      echo $array['data']['USDTRY']['alis'];
  • 23-03-2022, 17:36:35
    #2
    http://json.parser.online.fr/

    buradan kontrol edebilirsiniz.

    objelere $response->meta->time şeklinde ulaşabilirsiniz.
  • 23-03-2022, 17:38:38
    #3
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    Json dosyasını array gibi okumaya çalışıyorsunuz ekranda çıktı alamamanızın sebebi bu, aşağıdaki gibi deneyin
    $veriler = file_get_contents = 'veriler.json';
    $array = json_decode($veriler);
    echo $array['data']['USDTRY']['alis'];
  • 23-03-2022, 17:39:03
    #4
    Öncelikle " JSON Viewer " eklentisini tarayıcınıza kurmanızı tavsiye ederim.
  • 23-03-2022, 17:40:19
    #5
    Üyeliği durduruldu
    yanıt için teşekkür ederim

    file get contents ile json çıktıya aynı şekilde ulaşabiliyorum. ama ben curl ile çektiğim veriden birkaç bölümü alıp php ile hesap yapacağım, onu da geri veriye dahil edip öyle json dosyasına yazdıracağım.

    yani bana curl den json veri geliyor. json formatında olmayabilir ama gelen veri json. ben bunun içinden birkaç ögeyi alıp php de işleyeceğim sonra tekrar json veriye ekleme yapıp json dosyama yazacağım.
    L0pht adlı üyeden alıntı: mesajı görüntüle
    http://json.parser.online.fr/

    buradan kontrol edebilirsiniz.

    objelere $response->meta->time şeklinde ulaşabilirsiniz.
  • 23-03-2022, 17:42:52
    #6
    Üyeliği durduruldu
    hocam eklenti kurulu bende. curl den gelen veriyi ekrana yazdırınca görünmüyor. uzantı .php olduğu için mi bilmiyorum. ama bu veriyi .json dosyasına yazdırıp json dosyasını tarayıcıda açınca viewer çalışıyor. gelen veri json görünüyor ama acaba formatı mı json değil?

    $url = "https://veriyolu";
    
    $curl = curl_init($url);
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    
    $headers = array(
       "X-Requested-With: XMLHttpRequest",
       "Content-Type: application/json",
       "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36",
    );
    curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
    $resp = curl_exec($curl);
    curl_close($curl);
    
    
    
    if ($curl) {
        file_put_contents (__DIR__ . DIRECTORY_SEPARATOR . 'veri.json', $resp);
        $boyut =  number_format(filesize('veri.json'), 2, ',', '.');
        echo $resp;
    } else {
        echo 'bağlantı başarısız oldu';
    }
    ONURERDGN adlı üyeden alıntı: mesajı görüntüle
    Öncelikle " JSON Viewer " eklentisini tarayıcınıza kurmanızı tavsiye ederim.
  • 23-03-2022, 18:45:41
    #7
    Büyük bir ihtimal geçen yazdığım botda kullandığım adresden çekiyorsunuz jsondecode yapın aşağıdaki gibi gözükür
  • 23-03-2022, 21:44:36
    #8
    Üyeliği durduruldu
    hallettim hocam teşekkür ederim, evet veri aynı görünüyor.
    ebubekirbastama adlı üyeden alıntı: mesajı görüntüle
    Büyük bir ihtimal geçen yazdığım botda kullandığım adresden çekiyorsunuz jsondecode yapın aşağıdaki gibi gözükür