Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 18884|Vastaus: 1

[Lähde] Fastjson JSONField deserialization invalidization solution

[Kopioi linkki]
Julkaistu 11.1.2019 10.51.31 | | | |
Käytin Alibaban Fastjsonia olioiden sarjallistamiseen ja deserialisointiin, koska alkuperäiset json-merkkijononi olivat kaikki a, b, c... Tällaiset kirjaimet ovat edustettuja, mutta sarjoitan ne objekteiksi, enkä voi määritellä objekteja sellaisiksi merkityksettömiksi ominaisuuksiksi.
JSONField-merkintöjä käytetään tässä.

@JSONField ero kentän asettamisen ja get set -menetelmän välillä

  • kenttä, joka määrittelee sekä serialisointi- että deserialisointitoiminnot
  • Laita get-tilaan, jolloin toiminto määritellään sarjoituksissa
  • set, määrittelee operaation deserialisoinnin yhteydessä



Kun olen käyttänyt sitä, se voidaan sarjallisesti sarjoittaa normaalisti, mutta sitä ei voi deserialisoida normaalisti, kuten alla olevassa kuvassa näkyy:


JSON-merkkijono:

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


Virhe aiheuttaa:

Objektien ominaisuudet eivät noudata Javan kyhmynimitystä, ja kaikki paitsi ensimmäinen sana on isolla kirjattu. Esimerkiksi

int myStudentCount;
Muuttuja myStudentCount on kokonaan pienillä kirjaimilla, ja sanan ensimmäinen kirjain sen jälkeen kirjoitetaan isolla.

Ratkaisu:

Muokkaa objektin attribuutin nimeä ja generoi get/set-metodi uudelleen seuraavalla koodilla:

Oikeiden attribuuttien osalta deserialisointi onnistuu, kuten seuraavassa kuvassa näkyy:







Edellinen:Työpaikan e-kirjat
Seuraava:PFD-muoto on myös sekoitettu joihinkin muihin kirjoihin
 Vuokraisäntä| Julkaistu 14.1.2019 16.29.58 |
Olen luopunut fastjsonista ja vaihtanut Jacksoniin, ja törmäsin Alibaban avoimeen lähdekoodiin.
Näin sitä käytetään:

pop.xml



JAVA-objekti JSONille [JSON-sarjallistaminen]



JSON–Java-luokat [JSON-sarjan purkaminen]



Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com