json_encode() will turn a PHP array into a JS array or object.
What this means is that your JSON output will probably look something like this:
['One','Two','Three','Four','Five','Six','Seven']
ie because your PHP array is a simple numeric-keyed array, it converts into a basic JS array.
The desired output is similar, except that each array element is in the form {'key':'value'} rather than just 'value'. This means that wach array element is an object (albeit one with a single key).
To produce this, you will need to adapt your PHP code after the explode, to loop through each array element and turn it into a nested array. Something like this:
foreach($woot as $key=>$value) {$woot[$key]=array('test'=>$value);}
...and then pass $woot to json_encode() as before.
That will produce pretty much the output you're looking for. Not sure why you'd want to encode it like that though -- are all those test objects really required? Are you passing into an existing JS program that requires this format? It looks a bit of a messy structure, so if so, there's probably some JS code that could do with tidying up!
Hope that helps.