Return actual JSON, not JSON strings in API instance fields

The data types for collection UDFs were being sent as the string
representation of the underlying JSON.  To fix this, we deserialize it to a
standard python list before reserializing the entire dictionary