web-dev-qa-db-fra.com

asp.net core 1.0 web api utiliser une camelcase

Sur RC2 le même code retourne le format JSON avec un étui camel. Après la sortie de netcore 1.0, j’ai lancé un nouveau projet et le même code renvoie JSON en minuscule.

Essayé plusieurs solutions mais aucune ne fonctionnait web-api-serialize-properties-à partir de lettre minuscule

48
Brivvirs
services
    .AddMvc()
    .AddJsonOptions(options =>
    {
        options.SerializerSettings.ContractResolver
            = new Newtonsoft.Json.Serialization.DefaultContractResolver();
    });

Cela conserve le nom d'un objet JSON identique à celui de la propriété de classe .NET.

105
Brivvirs

Vous pouvez configurer le comportement JSON de cette façon:

public void ConfigureServices(IServiceCollection services)  
  {
      services.AddMvc()
                  .AddJsonOptions(options =>
                  {
                      options.SerializerSettings.ContractResolver =
                          new CamelCasePropertyNamesContractResolver();
                  });
  }
34
Siavash

Vous pouvez également le faire au niveau du sérialiseur individuel, au lieu du niveau global.

Par exemple, pour renvoyer un objet au format JSON sur une méthode d'action du contrôleur, procédez comme suit:

var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() };

return new JsonResult(myObject, jsonSerializerSettings);

Et la chaîne JSON résultante sera dans le PascalCase attendu pour correspondre aux noms de classe/propriétés .NET

0
Jesus Campon