Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 18884|Yanıt: 1

[Kaynak] Fastjson JSONField deserialization invalid solution

[Bağlantıyı kopyala]
Yayınlandı 11.01.2019 10:51:31 | | | |
Alibaba'nın Fastjson'ını nesneleri serileştirmek ve serilikten çıkarmak için kullandım, çünkü orijinal json dizimlerin hepsi a, b, c... Böyle harfler temsil edilir, ancak ben onları nesnelere seri hale getiririm ve nesneleri anlamsız özellikler olarak tanımlayamam.
JSONField açıklamaları burada kullanılır.

@JSONField bir alana koymak ile get set yöntemi arasındaki fark

  • alanı, hem serileştirme hem de seri seri çıkarma işlemlerini belirten
  • Serileştirme sırasında işlemi belirten get rejimine geçin
  • set, seri seri dışı bırakırken işlemi belirtir



Kullandıktan sonra normal şekilde serileştirilebiliyor, ancak aşağıdaki şekilde gösterildiği gibi normal şekilde serilikten çıkarılamıyor:


JSON dizisi:

{"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}


Hata nedenleri:

Nesnelerin özellikleri, Java'nın hump adlandırmasına uymaz; ilk kelime hariç hepsi büyük harfle yazılır. Örneğin

myStudentCount;
myStudentCount değişkeni tamamen küçük harflerle yazılır ve kelimenin sonraki ilk harfi büyük harfle yazılır.

Çözüm:

Nesne özniteliğinin adını değiştirin ve get/set yöntemini aşağıdaki kodla yeniden oluşturun:

Doğru öznitelikler için, aşağıdaki görselde gösterildiği gibi seri serilemeden çıkarma başarılı olur:







Önceki:İşyeri e-kitapları
Önümüzdeki:PFD formatı da bazı diğer kitaplarla karıştırılmış
 Ev sahibi| Yayınlandı 14.01.2019 16:29:58 |
Fastjson'dan vazgeçip Jackson'a geçtim ve Alibaba'nın açık kaynağıyla karşılaştım.
İşte nasıl kullanılacağı:

pop.xml



JSON'a JAVA SİRAZI [JSON Serileştirme]



JSON'dan Java Sınıflarına [JSON serializasyondan çıkarma]



Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com