"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 > Como serializar a enumeração .NET em Strings JSON com JavaScriptSserializer?

Como serializar a enumeração .NET em Strings JSON com JavaScriptSserializer?

Postado em 2025-04-12
Navegar:621

How to Serialize a .NET Enum as a String in JSON using JavaScriptSerializer?

serializando .NET enums como strings em json com javascriptSserializer

O padrão .net javascriptSserializer geralmente produz enums como seus valores inteiros no JSON. Para serializar -os como cordas representando seus nomes, existem vários métodos.

Método 1: alavancando json.net's stringenumConverter

A abordagem mais direta e recomendada utiliza o poderoso stringenumconverter do json.net . Este conversor pode ser aplicado no nível de definição da enumeração ou no nível da propriedade:

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public enum Gender { Male, Female }

public class Person
{
    public int Age { get; set; }
    [JsonConverter(typeof(StringEnumConverter))] // Or apply at property level
    public Gender Gender { get; set; }
}

isso garante o gênero propriedade serializa como uma string ("masculino" ou "feminina") no JSON resultante.

Método 2: Opções de configuração global

Para um aplicativo mais amplo, configure o stringenumconverter globalmente:

  • no nível da enumeração: Aplique o conversor à própria definição de enum para serializar uma serialização de string consistente em todos os usos desse enum:

      [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }
  • com jsonserializer : Adicione o conversor a uma instância específica

    var serializer = new jsonserializer (); serializer.converters.add (new stringenumConverter ()); // ... use serializador para serializar seus objetos ...
      var serializer = new JsonSerializer();
      serializer.Converters.Add(new StringEnumConverter());
      // ... use serializer to serialize your objects ...
  • com

    jsonConvert : Aplique o conversor diretamente durante a serialização:

    string json = jsonConvert.SerializeObject (myObject, new StringenumConverter ());
      var serializer = new JsonSerializer();
      serializer.Converters.Add(new StringEnumConverter());
      // ... use serializer to serialize your objects ...
personalização de

stringenumconverter O

stringenumconverter

construtor oferece personalização adicional, permitindo o controle sobre convenções de nomeação e manipulação de números. Consulte a documentação do JSON.NET para obter opções detalhadas.

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