PHP json_decode thrown an error for validate json string -


i have following error

notice:  trying property of non-object in action.php 

while posted json has validated (by jsonlint.com validation).

here json string:

[ {     "etgid": "1",     "etid": "34",     "evrakgelistarihi": "12/12/2013",     "evrakkonu": "sertifika denemesi",     "evrakkurumid": "1047",     "evrakcikistarihi": "13/12/2013",     "evrakcikissayisi": "313213213213",     "aciklamabolumu": "açıklayıcı notlar",     "gelenevraktarihi": "30/12/2013",     "gelenevraksayisi": "3132321",     "gelenevraketakipno": "987654",     "bagliilaclar": "[\"0\",\"[{\\\"ilacid\\\":\\\"744\\\",\\\"ilacpn\\\":\\\"asdasd2132\\\",\\\"ilacskt\\\":\\\"12/12/2013\\\"}]\"]",     "baglifirmalar": "[\"0\",\"[{\\\"firmaid\\\":\\\"1047\\\"}]\"]",     "": "[\"0\",\"[{\\\"bankaid\\\":\\\"5\\\",\\\"makbuzno\\\":\\\"asdasda\\\",\\\"makbuztarihi\\\":\\\"12/12/2013\\\",\\\"ihracaatyapilacakulkeid\\\":\\\"2\\\",\\\"ilacihracadi\\\":\\\"abfader\\\",\\\"makbuztutar\\\":\\\"202,06\\\",\\\"makbuztipdetaydegerİ\\\":\\\"10\\\"}]\",\"[{\\\"bankaid\\\":\\\"5\\\",\\\"makbuzno\\\":\\\"asdaww\\\",\\\"makbuztarihi\\\":\\\"12/12/2013\\\",\\\"ihracaatyapilacakulkeid\\\":\\\"191\\\",\\\"ilacihracadi\\\":\\\"abfadex\\\",\\\"makbuztutar\\\":\\\"202,06\\\",\\\"makbuztipdetaydegerİ\\\":\\\"9\\\"}]\"]",     "baglimakbuzlar": "[\"0\",\"987654»12/12/2013»3213213\"]",     "kurumicimi": "hayir" } ] 

and php code is:

$gelenjsonverisi = $_post['yenievrak']; echo($gelenjsonverisi); $yenievrakobj = json_decode($gelenjsonverisi);  exit($yenievrakobj->{'etgid'}); 

where did go wrong?

after suggestions:

  1. my json string has arrived serverside (php) array (between brackets).
  2. array has 1 element (member) our json string (object)
  3. handle arrays first element , assign php object , deal it.

    $gelenjsonverisi = $_post['yenievrak']; $yenievrakobjarray = json_decode($gelenjsonverisi,true); $yenievrakobj = $yenievrakobjarray[0]; exit($yenievrakobj['etgid']); // 1 of sample value 

    thank you

the json string shows array, contains single object. access data so:

$yenievrakobj = json_decode($gelenjsonverisi); echo $yenievrakobj[0]->etgid; 

if you're sure there's 1 object inside array, could try:

$yenievrakobj = json_decode(                     substr($gelenjsonverisi,1,-1) ); 

which chops off leading , terminating brackets. implies no leading of trailing whitespace, trim string first.

check codepad. can see, json_decode call returns data array containing object:

 array (     [0] => stdclass object         (             [etgid] => 1             [etid] => 34             [evrakgelistarihi] => 12/12/2013             [evrakkonu] => sertifika denemesi             [evrakkurumid] => 1047             [evrakcikistarihi] => 13/12/2013             [evrakcikissayisi] => 313213213213         )  ) 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -