pass complex json as shortcode parameter

Maybe there is a better solution, but serialize seems to do the job.

Instead of json I could pass json_decoded and then serialized parameters.

For example

$jsonval = json_decode('{"foo": "bar"}');
$serialized = serialize($jsonval);

Shortcode will be something like:

[myshortcode parameters="O:8:"stdClass":1:{s:8:"foo";s:3:"bar";}"]

At this point I can handle parameters unserializing them:

function myshortcodehandler($atts){        
    $arrparameters = (array) unserialize($atts["parameters"]);
    ...

Seems to work also with array in json.