Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 18884|Відповідь: 1

[Джерело] Fastjson JSONField deserialization invalid solution

[Копіювати посилання]
Опубліковано 11.01.2019 10:51:31 | | | |
Я використовував Fastjson від Alibaba для серіалізації та десеріалізації об'єктів, бо мої оригінальні json-рядки були всі a, b, c... Такі літери представлені, але я серіалізую їх у об'єкти, і не можу визначити об'єкти як такі беззмістовні властивості.
Тут використовуються анотації JSONField.

@JSONField різниця між появою на полі та методом гет-сету

  • поле, що визначає як операції серіалізації, так і десеріалізації
  • Поставте 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