After some investigation here is some code that works on v2015.2

// to create a dynamic array
SET results = ##class(%ListOfDataTypes).%New() 

// to create a dynamic object
SET obj = ##class(%ZEN.proxyObject).%New()   
SET obj.name = "John doe"

// add obj to the array
results.Insert(obj)  

// create dynamic response object
SET response = ##class(%ZEN.proxyObject).%New()
SET response.Results = results

Write response.%ToJSON()

---------------------------------------------

{   
    "Results": [
        {
            "name": "John Doe"
        }
     ]
}

Thanks,

Rui