Enum Value в возвращенном JSON из списка

Использовать PreparedStatement: http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html

Никогда не использовать конкатенацию строк для передавать аргументы командам SQL (риск безопасности: SQL-инъекция)!

0
задан Sarah 1 March 2019 в 18:20
поделиться

1 ответ

Под капотом enum - это просто набор именованных констант, базовый тип которых является целым числом . Десериализатор json знает, как преобразовать его целочисленное значение в значение enum.

Когда вы спрашиваете:

Как Json может отобразить его в виде красного, зеленого или желтого значения в списке.

Я предполагаю, что вы хотите, чтобы ваш массив "FD" содержал массив объектов, каждый из которых имеет клавишу CodeStatus со значением string вместо значения int? Например, вы хотели бы видеть это:

"FD": [
         {
            "Id": 416308,
            "Name": "Head Office ",       
            "CodeStatus": "Red",
         }
      ]

Правильно?

Если это так, вы можете добавить второе свойство к этому классу, которое является string версией CodeStatus ] перечисление. И поскольку это «производное» свойство, вы можете использовать либо « Expression Bodied Function » (она же жирная стрелка), либо свойство только для чтения (то есть свойство только с [ 1110] тер). Итак, что-то вроде:

public class Status
{
   public string CodeStatus => CodeStatusEnum.ToString();
   //Optionally add 
   //[JsonIgnore] // to exclude it from Json Serialization
   public Codes CodeStatusEnum { get; set; }
   //Could also be
   //public string CodeStatus { get { return CodeStatusEnum.ToString(); } }
   public enum Codes
   {
      Unknown = 0,
      Green=1,
      Yellow=2,
      Red =3
   }
}

И наконец, если вы не хотите, чтобы не-строковое свойство вообще отображалось в сериализованном JSON, вы можете добавить атрибут [JsonIgnore] к нему.

0
ответ дан tobyb 1 March 2019 в 18:20
поделиться
Другие вопросы по тегам:

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