"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Por que o JSON.NET é duplo serializando meus objetos?

Por que o JSON.NET é duplo serializando meus objetos?

Publicado em 2025-02-04
Navegar:860

Why is JSON.NET Double Serializing My Objects?

json.net Dual -veSencialization Problem

Ao usar o objeto de serialização json.net, um problema estranho pode ser encontrado: o objeto é uma serialização dupla. Isso fará com que os dados JSON sejam envolvidos em citações duplas na resposta, e as citações incorporadas também são justas.

causa raiz

A causa raiz é o método de serialização. Se você usar jsonConvert.SerializeObject (Instância)

se você usar

jsonConvert.Serialilililililialieoboct (Instância). Isso ocorre porque você o serializa primeiro em uma string e, em seguida, o controlador da API se irá a serializar ainda mais ao JavaScript String Word. solução

Para resolver esse problema, você só precisa retornar diretamente ao objeto: public ienumerable getfoobars () {{ var foobars = ...; Retornar foobars; }

Método de substituição
public IEnumerable GetFoobars()
{
    var foobars = ...;
    return foobars;
}
httpconfiguration

: config.formatters.jsonformatter.sersettings.converters.add config.formatters.jsonformatter.serializersettings.converters.add (new barconverter ());

outras dicas

verifique se o conversor personalizado está implementado corretamente.

config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new FooConverter());
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new BarConverter());
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3