Best Practices for Importing and Using JSON Data to Populate Streamlit Components

I’m working on a Streamlit app and want to import a JSON file into the app. Based on the values in the JSON file, I want to fill all the components (such as inputs, checkboxes, etc.) with the corresponding values. Currently, I’m using st.session_state to store the values, but I’m wondering if there are any better practices for achieving this. What would be a good approach besides using st.session_state?

The two other possibilities that I can think of are using database table or use a .env file that can then be loaded with dotenv and the values can be pulled using os.getenv(“KEY_FOR_VALUE”).