PropertyNamingPolicy
PropertyNamingPolicy у
JsonSerializerOptions
часто ставят в
JsonNamingPolicy.CamelCase.
Без политики в JSON остаётся "Name",
а не "name".
Синтаксис
options.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
Пример
Давайте сериализовать с camelCase:
using System;
using System.Text.Json;
class Item
{
public string Name { get; set; }
}
class Program
{
static void Main()
{
var options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
Item item = new Item { Name = "abcde" };
string res = JsonSerializer.Serialize(item, options);
Console.WriteLine(res);
}
}
Результат выполнения кода:
{"name":"abcde"}
Пример
Давайте сериализовать без политики:
using System;
using System.Text.Json;
class Item
{
public string Name { get; set; }
}
class Program
{
static void Main()
{
Item item = new Item { Name = "abcde" };
string res = JsonSerializer.Serialize(item);
Console.WriteLine(res);
}
}
Результат выполнения кода:
{"Name":"abcde"}
Пример
Давайте сравнить имя свойства Count:
using System;
using System.Text.Json;
class Item
{
public int Count { get; set; }
}
class Program
{
static void Main()
{
var options = new JsonSerializerOptions
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
Item item = new Item { Count = 12345 };
string res = JsonSerializer.Serialize(item, options);
Console.WriteLine(res);
}
}
Результат выполнения кода:
{"count":12345}
Смотрите также
-
JsonNamingPolicy,
готовые политики -
PropertyNameCaseInsensitive,
регистр при чтении -
JsonSerializerOptions,
объект настроек -
Serialize,
запись с опциями