Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

PHP ile JSON kullanımı hk.

Konu, 'PHP' kısmında valkyrie tarafından paylaşıldı.

Etiketler:
  1. valkyrie

    valkyrie Yeni Üye

    Kayıt:
    11 Ağustos 2017
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Şehir:
    Toronto
    Merhabalar. jQuery'de getjson ile yapmış olduğum işlemi php'de yapamıyorum. Php'de kullanmak istediğimde aşağıdaki hatayı alıyorum.

    Notice: Trying to get property of non-object in C:\xampp\htdocs\plreserv\index.php on line 14
    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\plreserv\index.php on line 14

    14. satırda ise foreach var. Aynı json dosyası getjson ile çalışırken php'de file_get_contents ile çektiğimde çalışmıyor. Ekrana print ettiğimde çalışıyor, json_decode içine alıp foreach yazdığımda yukarıdaki hatayı alıyorum. Json kaynağından aldığım veri tam olarak aşağıdaki gibi.

    PHP:
    {
            
    dataList: [
                {
                    
    Date:'11.08.2017',
                    
    Com:'Spr',
                    
    BlsId:'5',
                    
    Type:'break',
                    
    TypeCheck:'0,5',
                    
    perma:'Normal',
                    
    CommaDetail:'0,,,particle,0,,,7',
                    
    Pom:[
                        {
                            
    Num:'1',
                            
    status:'1',
                            
    val:'37349',
                            
    lang:'tr'
                        
    },
                        {
                            
    Num:'2',
                            
    status:'1',
                            
    val:'37350',
                            
    lang:'ru'
                        
    }
                    ]
                }
            ]
        }
    kullandığım analiz servisinde yaklaşık 18 adet json çıktı veren adres var ve hepsinde aynı problemi yaşıyorum. Tarayıcıda kullandığım json viewer eklentisinde ekteki resimdeki hatayı alıyorum. Php konusunda uzman olmadığın buradan yardım almak istedim. Yardımcı olabilecek varsa çok teşekkür ederim.
     

    Ekli Dosyalar:

  2. vicivic

    vicivic Yeni Üye

    Kayıt:
    12 Ağustos 2017
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Şehir:
    İzmir
    Aldığınız veri bir json değil, json keyleri kesinlikle çift tırnaklardan, valueler ise türe göre çift tırnak almak zorunda. Aşağıdaki gibi bir yazım olması lazım.

    PHP:
    $json_str '{"dataList":[{"Date":"11.08.2017","Com":"Spr","BlsId":"5","Type":"break","TypeCheck":"0,5","perma":"Normal","CommaDetail":"0,,,particle,0,,,7","Pom":[{"Num":"1","status":"1","val":"37349","lang":"tr"},{"Num":"2","status":"1","val":"37350","lang":"ru"}]}]}';
    $json json_decode($json_strtrue);
    echo 
    "<pre>";
    print_r($json);
    echo 
    "</pre>";
     
  3. valkyrie

    valkyrie Yeni Üye

    Kayıt:
    11 Ağustos 2017
    Mesajlar:
    2
    Beğenilen Mesajlar:
    0
    Şehir:
    Toronto
    @vicivic teşekkür ederim ancak veriyi ben hazırlamıyorum bu yüzden işin içinden çıkamadım. Bana web servisinden gelen veri bu şekilde. Mail gönderip çalışmadığını söylediğimde ise biz bu şekilde veriyoruz diyor. Otellerle ilgili başka data bilgisi veren servis yok bu nedenle bunu kullanmak zorundayım. Bu datayı nasıl json formatına çevirebilirim ?
     
  4. Yilmazx

    Yilmazx Yeni Üye

    Kayıt:
    16 Haziran 2017
    Mesajlar:
    4
    Beğenilen Mesajlar:
    1
    Şehir:
    istanbul
    gelen veriyi işleme koymadan önce satır atlatma yapılan yerleri temizleyerek ihtiyacın olan json verisine dönüştürebilirsin

    $duzeltilmisHali = str_replace(array("\r\n","\r"),"",$gelenVeri);
     
  5. vicivic

    vicivic Yeni Üye

    Kayıt:
    12 Ağustos 2017
    Mesajlar:
    3
    Beğenilen Mesajlar:
    0
    Şehir:
    İzmir
    Gelen veriyi javascript ile işleyip, php sayfasına post edebilirsin.

    Çok basit bir örnek,
    Edit fiddle - JSFiddle
     
Benzer Konular
Yüklüyor...