Achatando um objeto json complexo para ligação de mvc
Meu controlador está retornando um gráfico de objeto para a visualização no formato json como este
return Json(customer);
Na visão, meu objeto json se parece com isso
{
Name: 'Joe',
Budget: { Amount: 500, Spend: 100 }
}
Que mapeia corretamente para o meu objeto de cliente:
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;}
}
Eu quero passar o mesmo objeto json de volta para outro método no controlador com esta assinatura:
public ActionResult Method(Customer customer)
Quando eu faço esse nome, o cliente é preenchido, mas não a classe Budget, pelo que entendi porque o modelbinder espera: {Nome: 'Joe', 'Budget.Amount': 500, 'Budget.Spend': 100}
Portanto, tenho as seguintes opções: 1. Posso retornar o objeto json no formato desejado, mas não sei como, porque você não pode fazer isso:
return Json(new { Budget.Amount= 500})
Eu posso achatar o objeto json no lado do cliente. Existem plugins ou métodos para fazer isso?