JDK6 runtime support for json

Warning: the backported try-with-resources are not pretty
`IOException` rethrow
(I leave this as a reminder, I will merge as is and then will return to these lines)