• 26-11-2022, 16:58:29
    #1
    arkadaşlar bu decode etme olayı nasıl oluyor? bir türlü anlayamadım. json formatı aşağıdaki gibi;

    {"status":[{"domain":"site.com","zone":"com","status":"parked ","summary":"parked"}]}

    başka bir hazır json formatı ile denediğimde decode çalışıyor ama bunda bir türlü çalıştıramadım.

    {"status":"success","country":"Turkey","countryCod e":"TR","region":"33","regionName":"Mersin","city" :"Evrenli","zip":"33250","lat":36.9533,"lon":34.58 61,"timezone":"Europe/Istanbul","isp":"Turkcell Internet"}



    kullandığım parçalama kodu aşağıdaki gibi. alttakinde işe yarıyor, üsttekinde olmuyor ama json yolunu ve çağrıları değiştirmeme rağmen. üstteki için farklı bir biçimde mi okuma sağlanıyor?

    $kaynak1 = file_get_contents("http://ip-api.com/json/176.90.48.157?lang=en");
    $data2 = json_decode($kaynak1);

    echo $kaynak1;
    echo "<br>";echo "<br>";
    echo $data2->status;
    echo "<br>";
    echo $data2->country;
    echo "<br>";
    echo $data2->regionName;
    echo "<br>";
    echo $data2->countryCode;
  • Kabul Edilen Cevap
    • 0 Beğeni
      PetitJoueur adlı üyeden alıntı: mesajı görüntüle
      yok hocam olmadı öyle de. benim denediğim kod ile de tüm hepsini ekrana döküyor. aslında o da çok işime yaramadı. aradan istediğim bilgileri yazdırmak istiyorum ben. Aşağıdaki gibi hata verdi.

      Warning: Attempt to read property "status" on array in C:xampphtdocsDCindex.php on line 10

      Warning: Trying to access array offset on value of type null in C:xampphtdocsDC index.php on line 10
      {"status":[{"domain":"site.com","zone":"com","status":"active ","summary":"active"}]}
      şu şekilde çözdüm. echo $data1->status[0]->domain;
      işinize yaradıysa R10+ atabilirsiniz
  • 26-11-2022, 17:00:16
    #2
    İlk attığınızı şu şekilde kullanmanız gerekir %99

    $data2->status->domain;
  • 26-11-2022, 17:03:27
    #3
    Mücahit adlı üyeden alıntı: mesajı görüntüle
    İlk attığınızı şu şekilde kullanmanız gerekir %99

    $data2->status->domain;
    yok hocam olmadı da fakrlı bir kod ile çözdüm. sanırım üstteki bir dizi olduğu için alttaki kod ile işlemiyor. foreach ile yapınca okuyup ekrana ayrı ayrı yazdırabildim.
  • 26-11-2022, 17:04:51
    #4
    PetitJoueur adlı üyeden alıntı: mesajı görüntüle
    yok hocam olmadı da fakrlı bir kod ile çözdüm. sanırım üstteki bir dizi olduğu için alttaki kod ile işlemiyor. foreach ile yapınca okuyup ekrana ayrı ayrı yazdırabildim.
    $data1->status['key'] olarak deneyin.
  • 26-11-2022, 17:10:47
    #5
    Hersio adlı üyeden alıntı: mesajı görüntüle
    $data1->status['key'] olarak deneyin.
    yok hocam olmadı öyle de. benim denediğim kod ile de tüm hepsini ekrana döküyor. aslında o da çok işime yaramadı. aradan istediğim bilgileri yazdırmak istiyorum ben. Aşağıdaki gibi hata verdi.

    Warning: Attempt to read property "status" on array in C:xampphtdocsDCindex.php on line 10

    Warning: Trying to access array offset on value of type null in C:xampphtdocsDC index.php on line 10
    {"status":[{"domain":"site.com","zone":"com","status":"active ","summary":"active"}]}
  • 26-11-2022, 17:26:35
    #6
    Bu cevap, konu sahibi tarafından kabul edilebilir bir cevap olarak işaretlendi.
    PetitJoueur adlı üyeden alıntı: mesajı görüntüle
    yok hocam olmadı öyle de. benim denediğim kod ile de tüm hepsini ekrana döküyor. aslında o da çok işime yaramadı. aradan istediğim bilgileri yazdırmak istiyorum ben. Aşağıdaki gibi hata verdi.

    Warning: Attempt to read property "status" on array in C:xampphtdocsDCindex.php on line 10

    Warning: Trying to access array offset on value of type null in C:xampphtdocsDC index.php on line 10
    {"status":[{"domain":"site.com","zone":"com","status":"active ","summary":"active"}]}
    şu şekilde çözdüm. echo $data1->status[0]->domain;
    işinize yaradıysa R10+ atabilirsiniz
  • 26-11-2022, 17:36:33
    #7
    Kodunuzda 3.satıra şunu ekleyin, başka hiç bir şeye gerek kalmaz:
    $data2 = $data2[0];