javascript - Converting PHP Associative array to JSON object - spaces in value results in malformed JSON -


i build array in php , convert json handle onclick event , send file via ajax.

the problem of values in php array have spaces in them. seems breaking json object meaning ajax call failing.

here's snippet of code try , elaborate:

//php array looks this:              array             (                 [card_id] => 1                 [img_id] => 11                 [card_name] => layout1retro_original                 [card_qty] => 1                 [img_thumb] => albums/160915_e165/thumbs/011_cover-lp-cd_originaldpp_polaroid.jpg                 [img_hires] =>                  [img_full] => albums/160915_e165/images/011_cover-lp-cd_originaldpp_polaroid.jpg                 [media] => retro                 [finish] => perl290                 [size] => original                 [backing] =>                  [can_crop] =>                  [needs_to_be_cropped] => 1                 [been_cropped] =>                  [aspect_ratio] => 0                 [offer_cmf] =>                  [retro-name] => value             ) 

the problem key => val pair retro-name. json breaking space between a , value.

i use json_encode convert array json object pass javascript: stripslashes(json_encode($array)).

then add html element data attribute can grab onclick event.

here's breaking in data attribute: [removed excess code clarity...] "retro-name":"a" value"}

notice has added closing " after a. breaks rest of json object ajax call fails.

how can fix this?

my best guess because json rendered in data attribute enclosed in double-quotes, common in html. instead of double-quotes, please try single-quotes. php outputs json double-quotes.

if not work, please can update question example of how data-attribute rendered json.


Comments

Popular posts from this blog

java - Date formats difference between yyyy-MM-dd'T'HH:mm:ss and yyyy-MM-dd'T'HH:mm:ssXXX -

c# - Get rid of xmlns attribute when adding node to existing xml -