JsonSerializerOptions
JsonSerializerOptions передают во
Serialize
и
Deserialize.
Имена полей меняют через
PropertyNamingPolicy,
пропуск null -
DefaultIgnoreCondition.
Синтаксис
var options = new JsonSerializerOptions();
string json = JsonSerializer.Serialize(value, options);
Пример
Давайте включить 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"}
Пример
Давайте прочитать MaxDepth по умолчанию:
using System;
using System.Text.Json;
class Program
{
static void Main()
{
var options = new JsonSerializerOptions();
bool res = options.MaxDepth == 0;
Console.WriteLine(res);
}
}
Результат выполнения кода:
True
Смотрите также
-
WriteIndented,
отступы в JSON -
JsonNamingPolicy,
стили имён -
Converters,
свои преобразователи -
JsonSerializer,
вызов с опциями