Consider this to be a valid statement to add a secret to an Azure Key Vault using the Azure CLI:
az keyvault secret set --vault-name "<YourKeyVaultName>" --name "AppSecret" --value "MySecret"
, taken from Tutorial: Use Azure Key Vault with an Azure web app in .NET
Building on this, I do not see any reason the value MySecret
couldn't be a JSON string.
Investigating a bit further, have a look at About keys, secrets, and certificates - Key Vault secrets:
From a developer's perspective, Key Vault APIs accept and return secret values as strings. Internally, Key Vault stores and manages secrets as sequences of octets (8-bit bytes), with a maximum size of 25k bytes each.
So as long as your JSON is under the 25k limit, you should be good to go.