Ok, so heres a small excerpt of my test JSON which gives NULL when doing json_decode:
There are 2 problems with it: a) The names need to be in double quotes, b) and so do the values ... so using direct JS function references like "submit: Extdirect.dceProject.update" will also return NULL
I am quite impressed with atolExt3WidgetPlugin's JSON builder (which is where the above string came from), but when it comes to reversing that JSON string in PHP your options are pretty limited.
I'm still thinking my original idea from earlier post could work, but of course its up to the developer to ensure the JSON string in $this->result is completely valid.
One other client-side option might be to intercept the JSON receipt in a Direct call before the requesting code has a chance to do anything with it, and run a quick Ext.decode over it first, but again I think I'd prefer it was in the desired format to begin with.
Hope this helps!