【发布时间】:2016-07-11 18:03:36
【问题描述】:
我有一个返回列表的 WebApi 控制器。我的问题是,我不想在生成的 JSON 中出现 xxxx.0,因为这会在我的 javascript 中造成严重问题。有没有办法防止 .0 值的 .net 序列化,以使它们被截断?
当前输出:
{"Temperature":[[1465434000.0,4.00],[1465437600.0,15.40],[1465441200.0,15.26],
通缉:
{"Temperature":[[1465434000,4.00],[1465437600,15.40],[1465441200,15.26],
被序列化的对象:
public class ChartDataMonthly
{
public List<decimal[]> Temperature { get; set; }
【问题讨论】:
-
我假设您希望以一种在小数点不为零时保持小数点的方式?
-
在我看来,它完全符合您的意图。它序列化的值是小数。任何消费代码都不应该有任何将其作为浮点数消费的问题。当然,我对您的问题没有很好的答案,您可能想研究自定义反序列化器。如果我记得,.net 更高版本的默认反序列化器是 JSON.net。应该很容易研究。
-
老实说,我认为这很好。它不应该对您的客户产生影响。真正的问题是你为什么想要这个?为了美观?这对于 API 响应真的无关紧要。
-
as this makes serious problems in my javascript -
客户端是highcharts。它假定第一个值是时间戳。
标签: c# json serialization asp.net-web-api decimal