【发布时间】:2010-02-05 21:09:23
【问题描述】:
我的控制器正在像这样以 json 格式将对象图返回到视图
return Json(customer);
在视图上我的 json 对象看起来像这样
{
Name: 'Joe',
Budget: { Amount: 500, Spend: 100 }
}
正确映射到我的客户对象:
public class Customer
{
public string Name {get;set;}
public Budget Budget{get;set;}
}
public class Budget
{
public decimal Amount{get;set;}
public decimal Spend{get;set;}
}
我想用这个签名将同一个 json 对象传回控制器上的另一个方法:
public ActionResult Method(Customer customer)
当我填充这个客户的名字而不是预算类时,我理解为什么,因为模型绑定器期望这样:{Name:'Joe','Budget.Amount':500,'Budget.Spend': 100 }
所以我必须选择: 1.我可以返回它想要的格式的json对象,但是我不知道怎么做,因为你不能这样做:
return Json(new { Budget.Amount= 500})
- 我可以在客户端展平json对象。是否有插件或方法可以做到这一点?
【问题讨论】:
-
但是你可以做到这一点,对吧?不确定这是否能解决您的整个问题: return Json(new { Budget = new { Amount = 500 }})
-
我正在尝试展平 json 对象,以便结果是 '{ 'Budget.Amount' = 500 }'
标签: javascript asp.net-mvc json