Read directly from JSON file everytime database information is needed or create database manager that stores information at the start of the game?

Hello. Naive beginner making an RPG here. I’m attempting to make an RPG in the same vein as the Elder Scrolls with data driven gameplay. I’m writing the infrastructure for the game in C++ and plan to use JSON and Lua to drive the gameplay. If I were to create an item database in a JSON format, would it be better to read and store the information into an array at the start of the game, or to have every class that needs to access the database access the JSON file directly every time it’s needed? When a physical item is spawned into the world, for instance, should it access the JSON file directly or should it access some kind of object in the world that’s already translated the data into an array of some sort? I don’t know if I wrote this out confusingly, and I’m sure I’m coming across as somewhat dopey, so please tell me if you need any kind of elaboration.