Most servers I know of have gzip enabled by default.
What you might consider is using some kind of paging for your data - so you can make multiple transfers of the data you need, instead of using one large piece.
Also, if you have access to the JSON feed itself, you could lower the size by having the roku code dynamically alter/create the extra fields where possible - for alternate bitrate streams, filenames, etc.
Rather than having the JSON list a separate tag for hours, and a separate tag for minutes, if you can combine those, the filesize will be smaller, resulting in a faster transfer -- like rather than having
hours: 2
minutes: 16
if you had
minutes:136
That saves some bytes there.