Saya menggunakan Fastjson Alibaba untuk membuat serial dan mendeserialisasi objek, karena string json asli saya semuanya a, b, c... Huruf-huruf seperti itu diwakili, tetapi saya serialisasikannya menjadi objek, dan saya tidak dapat mendefinisikan objek sebagai properti yang tidak berarti. JSONField anotasi digunakan di sini.
@JSONField perbedaan antara menempatkan di lapangan dan metode get set
- bidang, menentukan operasi serialisasi dan deserialisasi
- Pasang get, tentukan operasi saat melakukan serialisasi
- set, menentukan operasi saat deserialisasi
Setelah saya menggunakannya, itu dapat diserialisasi secara normal, tetapi tidak dapat dideserialisasi secara normal, seperti yang ditunjukkan pada gambar di bawah ini:
String 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}
Kesalahan menyebabkan:
Sifat-sifat objek tidak mengikuti nomenklatur punuk Java, dengan semua kecuali kata pertama dikapitalisasi. Misalnya
int myStudentCount; Variabel myStudentCount semuanya huruf kecil, dan huruf pertama kata setelahnya dikapitalisasi.
Larutan:
Ubah nama atribut objek dan buat ulang metode get/set dengan kode berikut:
Untuk atribut yang benar, deserialisasi berhasil, seperti yang ditunjukkan pada gambar berikut:
|