Como formatar algum resultado ASP.NET MVC Json?
-
07-07-2019 - |
Pergunta
Eu tenho um POCO realmente simples (de negócios) objeto que estou retornando para o cliente como alguns json, usando ASP.NET MVC.
por exemplo. (Por favor, ignore a falta de verificação de erros, etc).
public JsonAction Index()
{
Foo myFoo = MyService();
return Json(myFoo);
}
kewl. Agora, este objeto inclui os seguintes propriedades públicas ...
public class Foo
{
public decimal Score { get; set; }
public Dictionary<string, string> KeyValues { get; set; }
}
Agora, quando o objeto é serializado em JSON, a pontuação decimal tem uma precisão de 7 (e eu sou após uma precisão de 2) e as keyValues ??pode ser nulo. Se for nulo, os olhares JSON como este ...
"KeyValues" : null
Eu estava esperando para ter as keyValues ??não ser incluído no JSON, se é nulo.
Existem truques para ajudar formato desta saída JSON? Ou será que eu preciso fazer isso manualmente .. fazer a minha própria corda .. então devolvê-lo como .. i donno .. um ContentAction? (Eeks).
Por favor, ajude!
Solução
O método ASP.Net MVC Json () usa o JavaScriptSerializer internamente para fazê-lo de codificação. Existem algumas opções para controlar a serialização de suas classes, criando e registrar seu próprio JavaScriptConverter objetos.