Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 18884|Resposta: 1

[Fonte] Fastjson JSONField deserialization invalid solution

[Copiar link]
Publicado em 11/01/2019 10:51:31 | | | |
Usei o Fastjson do Alibaba para serializar e desserializar objetos, porque minhas strings json originais eram todas a, b, c... Tais letras são representadas, mas eu as serializo em objetos, e não posso definir objetos como propriedades sem sentido.
Aqui são usadas anotações JSONField.

@JSONField a diferença entre colocar em um campo e o método get set

  • campo, especificando tanto operações de serialização quanto de desserialização
  • Coloque em get, especificando a operação ao serializar
  • set, especifica a operação ao desserializar



Depois de usá-lo, ele pode ser serializado normalmente, mas não pode ser desserializado normalmente, como mostrado na figura abaixo:


JSON STRING:

{"a":"shenzhou","b":"Jing Q7UB02","c":110000,"d":"2019-01-08T17:07:04+08:00","e":120.775085,"f":30.13825,"g":77,"h":171,"i":0,"j":4951,"k":2,"l":0,"m":0,"n":4,"o":0","p" :1}


Causas do erro:

As propriedades dos objetos não seguem a nomenclatura de corcunda de Java, com todas as palavras maiúsculas, exceto a primeira. Por exemplo

int myStudentCount;
A variável myStudentCount é toda minúscula, e a primeira letra da palavra depois de ser capitalizada.

Solução:

Modificar o nome do atributo objeto e regenerar o método get/set com o seguinte código:

Para os atributos corretos, a desserialização é bem-sucedida, como mostrado na imagem a seguir:







Anterior:E-books para o ambiente de trabalho
Próximo:O formato PFD também é misturado com alguns outros livros
 Senhorio| Publicado em 14/01/2019 16:29:58 |
Desisti do fastjson e mudei para o Jackson, e encontrei o código aberto do Alibaba.
Veja como usar:

pop.xml



Objeção JAVA a JSON [Serialização JSON]



Classes de JSON para Java [desserialização de JSON]



Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com