Използвах 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 със следния код:
За правилните атрибути десериализацията е успешна, както е показано на следното изображение:
|