Is there a chance you simple didn’t enable the “Binary Data” toggle on the S3 node?
The node wouldn’t upload data from the file system directly, so if that’s what you have in mind you’d need to read from the file system first (using the Read Binary Files node).
Seeing you have plain JSON data you probably want to create a binary item with the required properties using the Move Binary Data node before uploading it to S3. For example like so:
The Move Binary Data node lets you specify properties such as the MIME Type: