I'm afraid you can't do read access control like this, using the blockchain platform directly. Every transaction is visible to every node, as a matter of basic architectural design.
If you want to control read access on a per-item basis like this, the recommend strategy is to encode the data before publishing it on the chain, and then the key for the item can be shared with the reader off-chain.