I don’t see the need for raw here immediately, but I might be missing something.
The HTTP object handles JSON for sending and receiving…in fact, it is the default behavior. Just use your JavaScript object as the data param, as in the example code on the scripting reference page. JSON seems to be what the Zotero API is sending and receiving.
The API also sends back JSON, so the HTTP response will handle parsing that to a JavaScript object for you, and it will be in the responseData properly of the HTTPResponse.