you wouldn't JSON decode directly into `GetContentsResult`.  You would first decode the JSON (probably by trying one, then failing over to the other), then use that to populate a newly created `GetContentsResult` which gets returned