Instead of JSON consider a serialization that supports random access and possibly can even be used for in memory representation for storage in the DB. This would make the work for deferred deserialization even less.
Something like BJSON, Protocol Buffers or EXI, where you can know the length of something without searching.