Hi
Yes, beforeStore and Afterstore and beforeRender are powerful tools.
Just remember that if you are using beforestore to manipulate values it is best to do
$config['storages']['#__some_table']['some_column'] ie
$config['storages']['#__content']['title']....
$fields['some_field_name']->value or form, or live_value, or defaultvalue etc, way too many to list
$cck, $fields, and $config are your friends, need to discover where they can and can not be accessed.
RE JSON...
I'm no guru, but try:
$stuff = $fields['my_email_field']->options2;
$emailStuff = json_decode($stuff);
Should get an object to extract data from ie
$to = $emailStuff->to;
...alternatively, try
$emailStuff = json_decode($stuff, true);
Should get an associative array to extract data from ie
$to = $emailStuff['to'];
Something like that, check out JSON