.net - 这是一个错误吗?十进制属性未从 JSON 字符串(.NET MVC)反序列化

标签 .net json asp.net-mvc-3 deserialization

我有以下 .Net 类:

public class Product
{
    public int ID {get;set;}
    public String Name {get;set;}
    public Decimal Price {get;set;}
}

和我的 Controller 中的一个 Action :
[HttpPost]
public ActionResult AddProduct(Product product)
{
       // product.Price is zero!!
}

发送到 AddProduct 的请求中的 JSON 字符串看起来像这样(通过 Fiddler2 抓取):
POST http://localhost:59656/Cart/AddProduct HTTP/1.1
Host: localhost:59656
Origin: http://localhost:59656
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko Chrome/17.0.963.79 Safari/535.11
Content-Type: application/json; charset=UTF-8
Accept: text/html, */*; q=0.01

{"Product":{"ID":1232, "Name":"Blu-Ray","Price":210}}

为什么是 product.Price零,而其他属性(ID 和名称)正确补水?

最佳答案

尝试发帖:
{“产品”:{“ID”:1232,“名称”:“蓝光”,“价格”:210.00}}

我认为 MVC 不会从 int 转换/转换为十进制所以 .00 告诉它使用浮点数/ double 数/十进制数进行水合。

关于.net - 这是一个错误吗?十进制属性未从 JSON 字符串(.NET MVC)反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914794/

相关文章:

c# - 如何在 Entity Framework 中进行 "in"查询?

.net - 使用 Java 以外的方法将 Android SMS 表日期转换为有意义的 DateTime 格式

java - Spring REST - RequestBody 内的数组仅包含一个元素

java - jackson 在编码 JSON 时忽略 XmlElement 名称/大小写

java - 用于保存类(class)、学生和作业数据的 JSON

c# - MVC 减少重复代码

mysql - 将压缩的 csv 文件上传到 mysql 以附加到表中

c# - 对象收集位置的 Linq 结果

templates - Razor View 作为电子邮件模板

asp.net-mvc - 在 Html.TextBoxFor() onchange 事件上更新模型值而不提交