Настройка сериализации свойств JSON на классC#

Место общения программистов C#
Ответить
Anonymous
 Настройка сериализации свойств JSON на класс

Сообщение Anonymous »

New System.text.json Serialiser поддерживает установку политики именования следующим образом: < /p>
var options = new JsonSerializerOptions {
PropertyNamingPolicy = myPolicy
}
< /code>
Однако эти параметры применяются по всему событию сериализации. < /p>
Я хочу настроить свойства по -разному для разных классов. Я хочу, чтобы ключи класса A были сериализованы как все имена поля нижних регистра, в то время как клавиши класса B должны быть сериализованы как нижняя часть с специальным префиксом строки. />eg.
public class Product : Dictionary {
public string ProductId { get; set; }
public IList Stores { get; set; }
}
public class Store : Dictionary {
public string StoreId { get; set; }
}
...
IEnumerable products = GetProducts();
< /code>
Вывод ожидается для 'продуктов': < /p>
[
{
"productid": "1234",
"somefield": "fhsdjkfsd",
"stores": [
{
"storeid": "abc",
"prefix_somefield": "somevalue",
"prefix_foo": "bar"
},
{
"storeid": "def",
"prefix_another": "val"
}
]
},
{
"productid": "456",
"anotherfield": "fjaskdas"
}
]


Подробнее здесь: https://stackoverflow.com/questions/692 ... -per-class
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»