我正在使用 JavaScriptSerializer.Deserialize()
从 JSON 文件中获取数据。
但它忽略了小数点,尽管在值上使用了 .GetType()
,返回 System.Decimal
。
这是C#代码:
JavaScriptSerializer jss = new JavaScriptSerializer();
Dictionary< string, object > dic = jss.Deserialize< Dictionary< string, object >>( json );
这是 JSON:
{ "num": 3.14 }
我试试这个:Console.WriteLine ( "{0} {1}", dic["num"].GetType(), dic["num"] );
得到这个:System.Decimal 314
PS:如您所见,我是 .NET 的新手。
最佳答案
您一定在做其他您没有告诉我们的事情。
这是完整的工作代码:
String json = " { \"num\": 3.14 }";
JavaScriptSerializer jss = new JavaScriptSerializer();
Dictionary<string, object> dic = jss.Deserialize<Dictionary<string, object>>(json);
String test = String.Format("{0} {1}", dic["num"].GetType(), dic["num"]);
关于c# - .NET 的 JavaScriptSerializer.Deserialize() 忽略来自 JSON 的数字中的小数点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13516717/