If you are running WordPress on IIS and experiencing this issue, another thing you can check is the FastCGI settings to make sure the OPTIONS verb is allowed.
In my case, I am using a brand new setup of WordPress on a Windows Server 2019 IIS 10.0. When I went to Appearance, Widgets, made a change and clicked “update” I would get the “There was an error. The response is not a valid JSON response.” message.
I looked at all my other settings including SSL, Permalinks, etc. and they all looked good.
On the site with this particular “There was an error. The response is not a valid JSON response.” issue, the fix was easy.
Go to Handler Mappings for the site in question.
Double click the version of PHP that is setup (under PHP Manager)
Go to REQUEST RESTRICTIONS
Make sure either “ALL“, or “One of the following” is selected. If “One of the following” is selected, use this list:
Save your changes/close the dialog boxes and retry your save operation.