Właściwości zmiany nazwy Json.Net podczas serializacji [duplikat]
To pytanie ma już tutaj odpowiedź:
Alternatywna nazwa właściwości podczas deserializacji 2 odpowiedziMam bibliotekę, z którą się łączę, nad którą absolutnie nie mam kontroli. Obiekty są sformatowane przy użyciu nazw właściwości takich jak:
{"my property": "my value"}
i
{"my-property": "my value"}
Za pomocą json.net mogę dodać atrybut do właściwości w klasie, która reprezentuje każdą wiadomość, aby odwzorować te nazwy właściwości na właściwość w mojej klasie:
public class MyClass
{
[JsonProperty(PropertyName="my-prop")]
public String MyProperty {get; set;}
}
To jest w porządku, ale problem polega na tym, że muszę używać tych „magicznych ciągów” na dużej liczbie klas i naprawdę gardzę magicznymi strunami.
Dolna linia:
Czy jest jakiś sposób, aby zmienić wszystkie te właściwości na ciąg czytelny dla C #, tak aby mapowanie właściwości json.net odbywało się automatycznie?
to znaczy.:
{"my property": "my value"}
Powinien zmienić się na:
{"MyProperty": "my value"}
Podczas deserializacji, która następnie przepływałaby tę wartość do elementu MyProperty w MyClass, bez opisywania właściwości zakodowaną wartością ciągu.