folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php İle Json Decode İşlemi



Php İle Json Decode İşlemi

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    Selamlar,

    https://paste.ubuntu.com/p/ChrWxzwKpD/

    adresine işlem yaptığım örnek JSON ımı koydum. 

    Cols altındakiler Kolon Başlıkları, Rows altındaki herbir c değeri her sütünün kayıtları olarak düşünebilirsiniz. 

    Fakat şöyle bir durum var.

    Cols altında Başlık ve Veri Tipi Var o aklımı biraz karıştırdı.

     

    <?php
    $json = file_get_contents("test.json"); //pastebin de size verdiğim
    $data =  json_decode($json);
    
    if (count($data->cols)) {
        // Open the table
        echo "<table>";
        // Cycle through the array
        foreach ($data->cols as $cols) {
            // Output a row
            echo "<tr>";
            echo "<td>$cols->GUN</td>";
            echo "<td>$cols->BANKA</td>";
            echo "</tr>";
            foreach($rows->v as $v_icerik) {
               echo $v_icerik->1;
               echo $v_icerik->2;
               echo $v_icerik->3;
            }
        }
        // Close the table
        echo "</table>";
    }?>
    

    Normalde Yukarıdaki Gibi Yapıyordum ama bunda veriler farklı olunca kaldım.

    Nasıl Tabloya dökebilirim? Yardımcı olabilir misiniz?

    PLaXToR tarafından 10/Mar/20 01:20 tarihinde düzenlenmiştir

    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo
    headers = []
    for row in jsnstr['cols']:
        headers.append(row['label'])
    rows = []
    for record in jsnstr['rows']:
        row_ = []
        for col in record['c']:
            row_.append(col['v'])
        rows.append(row_)
    print(rows)

     

    onumde python acikti pythonda yaptim haci. jsonu jsnstr arrayina aldigni varsay, arrayi gezip once headerlari header a ekliyo. sonra satirlari tek tek rows a ekliyo


    Erkek olursa Esat Oktay, kız olursa Sabiha Gökçen
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    Hocam php de syntax i başka array e alması başka yani mantık tamam da algoritmasını vermiş gibi oldu ama olmadı :/

     

    PLaXToR tarafından 10/Mar/20 01:51 tarihinde düzenlenmiştir

    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Homo

    json dosyani da at bir goreyim, yazayim kodunu.


    0x0480 takilin madem
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    İlk mesajda mevcut hocam tekrar yazayım.

    https://paste.ubuntu.com/p/ChrWxzwKpD/


    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Homo
    <?php
    $data = file_get_contents('https://pastecode.xyz/view/raw/afc5db5a');
    $data = json_decode($data);
    
    $table = '<table>' . PHP_EOL . '    <tr>' . PHP_EOL;
    
    foreach (array_column($data->cols, 'label') as $title) {
        $table .= '      <td>' . $title . '</td>' . PHP_EOL;
    }
    $table .= '    </tr>' . PHP_EOL;
    for ($i=0; $i < count($data->rows); $i++) {
        $table .= '    <tr>' . PHP_EOL;
        foreach (array_column($data->rows[$i]->c, 'v') as $row)
        $table .= '      <td>' . $row . '</td>' . PHP_EOL;
        $table .= '    </tr>' . PHP_EOL;
    }
    $table .=  '</table>';
    echo $table;

     


    0x0480 takilin madem
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Homo
    <?php
    $data = file_get_contents('https://pastecode.xyz/view/raw/afc5db5a');
    $data = json_decode($data);
    
    echo '<table>' . PHP_EOL . '    <tr>' . PHP_EOL;
    
    foreach (array_column($data->cols, 'label') as $title) {
        echo '      <td>' . $title . '</td>' . PHP_EOL;
    }
    echo '    </tr>' . PHP_EOL;
    for ($i=0; $i < count($data->rows); $i++) {
        echo '    <tr>' . PHP_EOL;
        foreach (array_column($data->rows[$i]->c, 'v') as $row)
            echo '      <td>' . $row . '</td>' . PHP_EOL;
        echo '    </tr>' . PHP_EOL;
    }
    echo  '</table>';
    

    Degiskende tutmadan echo yagmuru versiyonu.

    end tarafından 10/Mar/20 02:59 tarihinde düzenlenmiştir

    0x0480 takilin madem
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    Teşekkürler ama ikiside çalışmıyor hocam.

    Bir de senin yaptığın versiyonda mesela kaç tane  "ŞEKERBANK TL HESABI" var nasıl saydırabiliriz?

    PLaXToR tarafından 10/Mar/20 03:13 tarihinde düzenlenmiştir

    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Homo
    PLaXToR bunu yazdı

    Teşekkürler ama ikiside çalışmıyor.

     

    ?


    0x0480 takilin madem
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PLaXToR
    PLaXToR's avatar
    Kayıt Tarihi: 08/Temmuz/2003
    Erkek

    Sadece html bu tablo yapısı geliyor, miktarı da doğru değil içerikler de yok hocam buraya ilk denediğini mi yapıştırdın :/.

     

    <table>
        <tr>
        </tr>
        <tr>
        </tr>
        <tr>
        </tr>
    </table>

     

    PLaXToR tarafından 10/Mar/20 03:20 tarihinde düzenlenmiştir

    If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Homo
    PLaXToR bunu yazdı

    Sadece html bu tablo yapısı geliyor, miktarı da doğru değil içerikler de yok hocam buraya ilk denediğini mi yapıştırdın :/.

     

     

     

    Ne gelecekti baska elindeki json yapisi ve contenti bundan ibaretken?

    1 baslik keyin var, 2 satirin var iste.

    Ilk denedigini mi yapistirdin ne demek ayrica? Bu ne bicim bir uslup yahu.

    if ($row === 'ŞEKERBANK TL HESABI')
                $sbankCt++;

    ekleyeceksin saydirmak icin. Hepsinin sayisini istiyorsan da array_count_values kullanirsin.


    0x0480 takilin madem
Toplam Hit: 987 Toplam Mesaj: 23
php ile json decode işlemi