hstore is great, I won't hear a word against it, but it doesn't deal with complex nested objects like JSON can (I would love to be wrong about this) - it's just a key/value store with indexing of the objects inside.
There's nothing stopping you from writing functions that can index json documents. plv8 makes this easy.