This is a question about performance. I've used the Wordpress Settings API in order to register fields and for a plugin that has 30+ fields that can cause a huge amounts of lines of code, in addition, sometimes the plugin has to use
get_option() a few times to know if it can show specific data on a specific admin page, this causes more database calls.
Instead, wouldn't it be better to save all options in JSON format in 1 field in the options table?
Once the admin page loads you just use
get_option('prefix_my_settings') which will then retrieve a json of all the plugin settings? Then all of the plugin settings are stored in 1 location and uses only 1 database request for each page load.
What are the downsides for using such method and is there a character limit for an option field?