Actually this is an approach I use to fetch data in raspberry (e.g. from GPIO) to reduce load and feed data to snmp extensions.Sadly this json files didn't exist at the time I wrote my plugin. This helps a lot by generating the data if there are generated by the os constantly and not only if the UI is opend in the browser.
I use a systemd timer to generate data with a single query and produce a number of micro-files saved in a tiny ram partition. Then SNMP can fetch data from there at light-speed whenever there is a request.
As said I use cacti with a 5 minute polling cycle, so I can prepare data setting the timer trigger at the minute 4 of the cycle +/-30 seconds (using the randomization of systemd timers - this also allows to avoid regularly stack multiple scripts at the same moment - I know it doesn't make the measurement extremely reliable, but in the average I've found that this an acceptable compromise between system load and measurement precision - e.g. temperatures).