• 27-07-2023, 22:19:27
    #1
    Merhabalar javascriptte json parçalamaya çalışıyorum ama bir türlü beceremedim yardım edebilirmisiniz ?
    data değişkenim phpden geliyor php de böyle gözüküyor ;
    {"category":"test","folder":[{"name":"testfolder","id":"1"},{"name":"testfolder 2","id":"2"}],"file":["testfile","testfile2"]}

    <script>
    const jdata = JSON.parse(data); // böyle parçaladım fakat folder arrayını gösteremiyorum obj olarak gözüküyor
    var folder = jdata.folder.join(),
    file = jdata.file.join();
    
    var xfolder=folder.split(",");
    console.log(xfolder);
    </script>
    tam olarak yapmak istediğim şey folder arrayını parçalamak for döngüsü ile
    mesela
    for() {
    folder[id]+"<br>"+folder[name]
    }
  • 27-07-2023, 22:20:18
    #2
    For ile length alıp istediğiniz şekildeyazdırabilirsiniz hocam
  • 27-07-2023, 22:20:53
    #3
    Canozkan adlı üyeden alıntı: mesajı görüntüle
    For ile length alıp istediğiniz şekildeyazdırabilirsiniz hocam
    Onu biliyorum demek istediğimi anlamadınız jsonu parçalayamıyorum
  • 27-07-2023, 22:22:12
    #4
    const jdata = JSON.parse(data);
    var folders = jdata.folder;
    for(var folder of folders)
    console.log(folder.name, folder.id);


    for(var folder of folders) yerine
    for(var i = 0; i < folders.length; i++){
    var folder = folders[i];
    ...
    }

    şeklinde de kullanabilirsiniz
    "data" json içeren bir string, JSON.parse yapınca bunu object'e çevirdiniz zaten, altındaki folder array'ına da jdata.folder diye eriştiniz, bu artık object içeren bi list, for ile hepsine tek tek erişebilirsiniz, join ise string array'ları için kullanılıyor. örn ["a","b"].join(',') --> a,b sonucunu verir
  • 27-07-2023, 22:23:05
    #5
    Webiay adlı üyeden alıntı: mesajı görüntüle
    Onu biliyorum demek istediğimi anlamadınız jsonu parçalayamıyorum
     
    
    for (const folderItem of jdata.folder) 
    {  console.log(folderItem.id + "<br>" + folderItem.name); 
    }
  • 27-07-2023, 22:26:17
    #6
    cevaplarınız için teşekkür ederim
    const jdata = JSON.parse(data);
    var folders = jdata.folder;
    for(var folder of folders)
    console.log(folder.name, folder.id);
    bu kod çalıştı tekrardan teşekkürler