Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 18884|Jawab: 1

[Sumber] Fastjson JSONField deserialization solusi tidak valid

[Salin tautan]
Diposting pada 11/01/2019 10.51.31 | | | |
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:







Mantan:E-book tempat kerja
Depan:Format PFD juga dicampur dengan beberapa buku lain
 Tuan tanah| Diposting pada 14/01/2019 16.29.58 |
Saya telah menyerah fastjson dan beralih ke Jackson, dan saya menemukan open source Alibaba.
Berikut cara menggunakannya:

pop.xml



Objek JAVA ke JSON [Serialisasi JSON]



Kelas JSON ke Java [deserialisasi JSON]



Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com