Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 18884|Отговор: 1

[Източник] Fastjson JSONField десериализация невалидно решение

[Копирай линк]
Публикувано в 11.01.2019 г. 10:51:31 ч. | | | |
Използвах Fastjson на Alibaba, за да сериализирам и десериализирам обекти, защото оригиналните ми json низове бяха всички a, b, c... Такива букви са представени, но аз ги сериализирам в обекти и не мога да дефинирам обектите като такива безсмислени свойства.
Тук се използват анотации на JSONField.

@JSONField разликата между поставянето на поле и метода get set

  • поле, което определя както операциите по сериализация, така и десериализация
  • Поставете на get, като уточнявам операцията при сериализация
  • set, определя операцията при десериализация



След като го използвам, може да се сериализира нормално, но не може да се десериализира нормално, както е показано на фигурата по-долу:


JSON низ:

{"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}


Причините за грешки:

Свойствата на обектите не следват яванската номенклатура на хълм, като всички думи, освен първата, са с главна буква. Например

int myStudentCount;
Променливата myStudentCount е изцяло с малки букви, а първата буква на думата след нея е с главна буква.

Решение:

Променете името на атрибута на обекта и регенерирайте метода get/set със следния код:

За правилните атрибути десериализацията е успешна, както е показано на следното изображение:







Предишен:Електронни книги за работното място
Следващ:Форматът PFD също се смесва с някои други книги
 Хазяин| Публикувано в 14.01.2019 г. 16:29:58 ч. |
Отказах се от fastjson и преминах към Jackson, и попаднах на отворения код на Alibaba.
Ето как да го използвате:

pop.xml



JAVA обект към JSON [JSON сериализация]



JSON към Java класове [JSON десериализация]



Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com