PragmaGames
@PragmaGames
Увлекаюсь Unity.

Как сереализовать JSON по определенным полям?

Есть такой код, при сереализации объекта нужно сделать 2 разных JSON, в один должны войти поля помеченные [JsonVariant(1)], во второй [JsonVariant(2)], [JsonVariant(0)] должен войти в оба. Подскажите как это лучше сделать ? Может есть готовые решения, пока думаю делать кастомный ContractResolver.

[Serializable, JsonObject(MemberSerialization.OptIn)]
public class JsonData
{
    [JsonProperty("id")][JsonVariant(0)] public string id;
    
    [JsonProperty("data")][JsonVariant(1)] public string data;
    [JsonProperty("extra_data")][JsonVariant(2)] public string extraData;
}
  • Вопрос задан
  • 153 просмотра
Решения вопроса 1
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
  • Кроме ContractResolver, есть еще ShouldSerialize: https://www.newtonsoft.com/json/help/html/Conditio...
  • Можно просто разделить на разные классы с разными полями
  • Можно дополнить класс отдельными методами для сериализации в разные варианты
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы