Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 18884|Odpowiedź: 1

[Źródło] Fastjson JSONField deserialization nieprawidłowe rozwiązanie

[Skopiuj link]
Opublikowano 11.01.2019 10:51:31 | | | |
Użyłem Fastjson Alibaby do serializacji i deserializacji obiektów, ponieważ moje oryginalne ciągi json to były a, b, c... Takie litery są reprezentowane, ale serializuję je w obiekty i nie potrafię zdefiniować obiektów jako takich bezsensownych właściwości.
Tutaj używa się adnotacji JSONField.

@JSONField różnica między putting on a get-set metodą

  • Field, określając zarówno operacje serializacji, jak i deserializacji
  • Postaw na get, określając operację podczas serializacji
  • set, określa operację podczas deserializacji



Po użyciu można go normalnie serializować, ale nie można go normalnie deserializować, jak pokazano na poniższym rysunku:


Ciąg 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}


Błąd powoduje:

Właściwości obiektów nie podążają za nazewnictwem garbów Javy, gdzie wszystkie słowa oprócz pierwszego słowa są pisane wielką literą. Na przykład

int myStudentCount;
Zmienna myStudentCount jest zapisana małymi literami, a pierwsza litera słowa po niej jest zapisana wielką literą.

Rozwiązanie:

Zmodyfikuj nazwę atrybutu obiektu i wygeneruj metodę get/set za pomocą następującego kodu:

Dla poprawnych atrybutów deserializacja się udaje, jak pokazano na poniższym obrazie:







Poprzedni:E-booki o miejscu pracy
Następny:Format PFD jest również mieszany z niektórymi innymi książkami
 Ziemianin| Opublikowano 14.01.2019 16:29:58 |
Zrezygnowałem z fastjson i przeszedłem na Jackson, a także natknąłem się na open source Alibaby.
Oto jak go używać:

pop.xml



Obiekt JAVA do JSON [serializacja JSON]



Klasy JSON do Javy [deserializacja JSON]



Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com