I had the same problem in a WCF service hosted in IIS / WAS where I used this class to deserialize some JSON. The problem arose after the service was transferred from one production server to another, where the culture settings were different.
The root problem turned out to be different. Despite the fact that in the application pool in which the WCF service is running, for identification with the correct culture, immediately after the server reboot, the process in which the service is running was either incorrect or incorrect. We still have not figured out where the problem is exactly, but this is either due to ThreadPool pollution (threads returned to the thread pool, do not reset their culture), or an error in the AppFabric startup ... maybe.
In any case, the problem in the original post boils down to the incorrect CurrentCulture and, possibly, to the incorrect JavaScriptSerializer implementation (isn't it that the JSON standards define the decimal point for decimal places?). Decimals will not deserialize correctly with incompatible CurrentCulture.
source share