Как исправить ошибку декодирования JSON в Spring?

В цифровом компьютерном программировании побитовая операция работает с одним или несколькими битовыми шаблонами или двоичными числами на уровне их отдельных битов. Это быстрое, примитивное действие, непосредственно поддерживаемое процессором, и используется для управления значениями для сравнений и вычислений. oprations

  • побитовое И
  • побитовое ИЛИ
  • побитовое NOT
  • побитовое XOR
  • и т. Д.

Элемент списка

    AND|0 1        OR|0 1 
    ---+----      ---+---- 
      0|0 0         0|0 1 
      1|0 1         1|1 1 

   XOR|0 1        NOT|0 1 
   ---+----       ---+--- 
     0|0 1           |1 0 
     1|1 0

Например.

    203: 1100 1011
AND  15: 0000 1111
------------------
  =  11: 0000 1011

Использование побитового оператора

  • Операторы с левым и правым сдвигами эквивалентны умножению и делению на x * 2y соответственно.

Например.

int main()
{
     int x = 19;
     printf ("x << 1 = %d\n" , x <<1);
     printf ("x >> 1 = %d\n", x >>1);
     return 0;
}
// Output: 38 9
  • & amp; оператор может быть использован для быстрой проверки того, является ли число нечетным или даже

Например.

int main()
{
    int x = 19;
    (x & 1)? printf("Odd"): printf("Even");
    return 0;
 }
// Output: Odd
  • Быстрый поиск минимума x и y без if else statment

Например:

int min(int x, int y)
{
    return y ^ ((x ^ y) & - (x < y))
}
  • Десятичное значение для двоичного преобразования

Например.

#include <stdio.h>
int main ()
{
    int n , c , k ;
    printf("Enter an integer in decimal number system\n " ) ;
    scanf( "%d" , & n );
    printf("%d in binary number
    system is: \n " , n ) ;
    for ( c = 31; c >= 0 ; c -- )
    {
         k = n >> c ;
         if ( k & 1 )
              printf("1" ) ;
         else
              printf("0" ) ;
      }
      printf(" \n " );
      return 0 ;
}
  • Шифрование шлюза XOR является популярным методом, благодаря его усложнению и повторному использованию программистом. побитовый оператор XOR является наиболее полезным оператором с точки зрения технического интервью.

смещение битвуза работает только с + ve числом

Также существует широкий диапазон использования побитовой логики

2
задан juanlumn 15 January 2019 в 15:09
поделиться

1 ответ

SimpleGrantedAuthority не подходит для автоматического картирования с Джексоном; у него нет конструктора без аргументов и сеттера для поля authority.

Так что ему нужен специальный десериализатор . Примерно так:

class SimpleGrantedAuthorityDeserializer extends StdDeserializer<SimpleGrantedAuthority> {
    public SimpleGrantedAuthorityDeserializer() {
        super(SimpleGrantedAuthority.class);
    }
    @Override
    public SimpleGrantedAuthority deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
        JsonNode tree = p.getCodec().readTree(p);
        return new SimpleGrantedAuthority(tree.get("authority").textValue());
    }
}

Зарегистрируйте его с Джексоном во всем мире следующим образом:

objectMapper.registerModule(new SimpleModule().addDeserializer(
                      SimpleGrantedAuthority.class, new SimpleGrantedAuthorityDeserializer()));

Или пометьте поле (поля) с помощью:

@JsonDeserialize(using = SimpleGrantedAuthorityDeserializer.class)

Примечание: вам не нужен сериализатор , потому что SimpleGrantedAuthority имеет метод getAuthority(), который может использовать Джексон.

0
ответ дан rustyx 15 January 2019 в 15:09
поделиться
Другие вопросы по тегам:

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