Я использовал 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 следующим кодом:
Для правильных атрибутов десериализация успешна, как показано на следующем изображении:
|