php sınıfı ile json dosyasının değerini ayrıştırma

json'u bu gibi bir formatla ayrıştırmaya çalışıyorum

{
  "bossresponse":{
    "responsecode":"200",
    "web":{
      "start":"0",
      "count":"50",
      "totalresults":"88300000",
      "results":[
        {
          "date":"",
          "clickurl":"http:\/\/naruto.viz.com\/",
          "url":"http:\/\/naruto.viz.com\/",
          "dispurl":"naruto<\/b>.viz.com",
          "title":"NARUTO<\/b> Shippuden - OFFICIAL U.S. Site - Watch the Anime ...",
          "abstract":"Check out the latest discussions! TOPICS. AUTHOR"
        },
        {
          "date":"",
          "clickurl":"http:\/\/naruto.com\/",
          "url":"http:\/\/naruto.com\/",
          "dispurl":"naruto<\/b>.com",
          "title":"NARUTO<\/b>",
          "abstract":""
        }
      ]
    }
  }
}

ve bu işlevle ayrıştırdığımda

$json = file_get_contents("test.json");
$jsonIterator = new RecursiveIteratorIterator(
                        new RecursiveArrayIterator(json_decode($json, TRUE)),
                        RecursiveIteratorIterator::SELF_FIRST);
foreach ($jsonIterator as $key => $val) {
            if (is_array($val)) {
                //echo "$key:\n";
                if($key == "web"){
                    foreach($val as $key1 => $results){
                        if(is_array($results)){
                            if($key1 == "results"){
                                foreach($results as $key2 => $v){
                                    if (is_array($v)) {
                                        foreach ($v as $v1) {
                                           echo $v[title];

                                        }
                                    }
                                }
                                //echo $results;
                            }

                        }

                    }
                    //echo $val;
                }
            } else {
                //echo "$key => $val\n";
            }
        }

Bu başarılı ama bence benim kod çılgın kod, foreach ve foreach bakabilirsiniz çok bakım için iyi değil. OOP'ta sınıfta olduğu gibi uygulamak istiyorum ... bunu nasıl yapabileceğime yardım edebilir misin?

1

1 cevap

Bunun işe yaramayacağı herhangi bir sebep var mı?

$json = json_decode($json, TRUE);
$results = $json['bossresponse']['web']['results'];
foreach($results as $result) {
    echo $result['title'];
}
3
katma
viola bu işe yarıyor ... bu kod ile basit ama güçlü ... teşekkürler çok ...
katma yazar viyancs, kaynak