c# - .NET 的 JavaScriptSerializer.Deserialize() 忽略来自 JSON 的数字中的小数点

标签 c# .net json javascriptserializer

我正在使用 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/

相关文章:

c# - 有没有办法使用 LINQ 根据封闭条件(即不是简单的 WHERE 子句)选择一系列项目?

c# - 格式字符串/数字 "NNNNN"

c# - 如何使用 Roslyn 编译 C# 解决方案?

c# - 为什么 XmlDictionary.Add() 返回 XmlDictionaryString?

c# - 接口(interface)实现者对象的命名约定

c# - 在 C# 中使用枚举绑定(bind)具有本地化值的下拉菜单

c# - 用货币符号解析值

Jquery Ajax请求不发送Post数据

android - phonegap jQuery .ajax 跨域请求在浏览器中工作,在 Android SDK 中失败

python - django orm 组按 json 字段中的 json 键