Json.Net Переименовать свойства во время сериализации [дубликат]
На этот вопрос уже есть ответ здесь:
Альтернативное имя свойства при десериализации 2 ответаУ меня есть библиотека ям, с которым у меня нет абсолютно никакого контроля. Объекты отформатированы с именами свойств следующим образом:
{"my property": "my value"}
а также
{"my-property": "my value"}
Используя json.net, я могу добавить атрибут к свойствам в классе, который представляет каждое сообщение, чтобы сопоставить эти имена свойств со свойством в моем классе:
public class MyClass
{
[JsonProperty(PropertyName="my-prop")]
public String MyProperty {get; set;}
}
Это хорошо, но проблема в том, что я должен использовать этиволшебные струны на большое количество классов, и я действительно презираю магические струны.
Суть:
Есть ли способ изменить все эти свойства в читаемую строку C #, чтобы json.net автоматически отображал эти свойства?
т.е .:
{"my property": "my value"}
Должен измениться на:
{"MyProperty": "my value"}
Во время десериализации, которая затем передавала бы это значение члену MyProperty в MyClass, не помечая свойство жестко закодированным строковым значением.