jquery - weird behaviour when parsing json coming from php in javascript -


i have weird problem parsing json response coming php source (symfony2). trivial i'm not skilled in javascript have lost many hours on already.

i have serialized php-array in db, unserialize , convert json.

$response->setcontent(json_encode(unserialize($onderdeel->getarticles()))); 

on client use jquery parse json data.

$.ajax({    ......     success: function(data){         articleobject = jquery.parsejson(data);           }     }); 

however gives me weird results, of values set undefined while should have value. of values ok.

this raw result php script before get's parsed:

   {        "onderdeel":{           "onderdeel_id":"1546",           "onderdeel_type":"overgordijnen160",           "onderdeel_naam":"",           "onderdeel_opmerkingen":"",           "berekend_prijs":"0",           "status":"",           "active_artikel_id":"0",           "naam_ruimte":"",           "opmerkingen":""        },        "artikels":[           {              "ruimte":"",              "opmerkingen":"",              "korting":"",              "berekend_aantal_banen":"2",              "aantal_banen_zelf_ingegeven":"",              "berekend_hoeveelheid":"400",              "berekend_multiplicator":"1.9",              "berekend_valide":"",              "berekend_prijs_met_korting":"0.00",              "berekend_prijs":"20040040.00",              "stap2":{                 "valide":"valide",                 "hoogte":"100",                 "breedte":"100",                 "banen":"stel",                 "stof":{                    "id":"9",                    "naam":"agra",                    "modelnummer":"123456",                    "stofbreedte":"140.00",                    "rapporthoogte":"100.00",                    "kleur":"nul",                    "prijspermeter":"100.00",                    "wasvoorschriften":"cool wash cool iron",                    "stock":" "                 },                 "railtype":{                    "id":"7",                    "naam":"rails type 1",                    "modelnummer":"rt-2",                    "stock":"200.00 stuks",                    "rapporthoogte":"null",                    "prijspermeter":"null",                    "wasvoorschriften":"null"                 }              },              "maakwijze":{                 "status":"",                 "maakwijze_type":"lint",                 "plooi":"",                 "retour_plooi":"",                 "cm_plooi":"",                 "hoofdje":"100",                 "berekende_string":"lint > gewone voering",                 "voering_string":"gewone voering",                 "voering":{                    "voering_id":"",                    "voering_prijs":"",                    "voering_onderdeel":"",                    "voering_type":""                 },                 "voering_aan":"true",                 "confectie":{                    "confectie_id":"2",                    "confectie_prijs":"10000000.00",                    "confectie_zoom":"25.31",                    "confectie_onderdeel":"og < 160",                    "confectie_type":"lint > gewone voering"                 },                 "valide":"valide",                 "loodjes":"loodjes"              },              "prijs":{                 "prijs_valide":"",                 "prijs_korting":"",                 "prijs_plaatsing":"",                 "prijs_berekend_voor_artikel":"",                 "prijs_berekend_voor_artikel_met_korting":"",                 "prijs_berekend_stofprijs":"40000",                 "prijs_berekend_confectieprijs":"20000000",                 "prijs_berekend_prijslood":"40",                 "prijs_berekend_voering":"0",                 "prijs_railtype_prijs":""              }           }        ],        "onderdeel_naam":"",        "onderdeel_opmerkingen":""    } 

however after parse result:

javascript object parsed json

for example artikels.0.maakwijze.maakwijze_type set undefined while in raw json set 'lint'.

the weird thing if copy raw json chrome console , parse same function jquery.parsejson('copied text') values ok

i replaced jquery.parsejson standard json.parse , gave me same result

any ideas causes this?

thanks!!

on client use jquery parse json data.

$.ajax({ ......     success: function(data){         articleobject = jquery.parsejson(data);  

if server returning content-type: application/json, data already parsed object. don't want parse again.

without jquery.parsejson(data), works me (source).


Comments