#31836 [Bug]: DB-backed router_settings JSON strings are skipped on reload
### Check for existing issues
I searched existing issues and did not find another issue that covers this specific DB-backed `router_settings` reload behavior.
### What happened?
When `LiteLLM_Config.param_value` for `router_settings` contains a JSON object encoded as a string, the proxy reload path skips it because it only applies DB router settings when `param_value` is already a `dict`.
This makes Dashboard-configured advanced router settings appear to save successfully, but after reload the live Router does not include the setting. For `router_settings.model_group_alias`, the Dashboard Model Group Alias tab reads from the live router config, so the alias disappears and API calls using the alias are rejected as an unknown model.
YAML config does not hit this path because YAML loads `router_settings` as a Python dict.
Expected behavior:
- DB-backed `router_settings` should accept existing JSON-object string rows and normalize them before applying to the Router. - `/config/update` should write JSON objects to the `Json` column instead of pre-serializing dict sections as strings.
### Steps to Reproduce
1. Start a local LiteLLM proxy with `store_model_in_db: true`, Postgres,…