com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.itsvse.es.models.CarPosition` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
Δεν είναι δυνατή η κατασκευή στιγμιότυπου του 'com.itsvse.es.models.CarPosition$Point' (αν και υπάρχει τουλάχιστον ένας Δημιουργός): μπορεί να δημιουργήσει μόνο μη στατική εσωτερική κλάση χρησιμοποιώντας την προεπιλογή, χωρίς όρισμα κατασκευαστής Λύση:
Η κλάση προσθέτει έναν κατασκευαστή ως εξής:
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('' (code 65279 / 0xfeff)): expected a valid value (number, String, array, object, 'true', 'false' or 'null')
Αιτίες σφάλματος:
Το αρχείο κειμένου txt που διάβασα σε Java είναιΗ μορφή κωδικοποίησης UFT-8 BOM είχε ως αποτέλεσματης, εγώΗ μετατροπή ενός αρχείου αρχείου σε utf-8 λειτουργεί καλά! Επειδή όμως έχω πάρα πολλά αρχεία, δεν μπορώ να μετατρέψω χειροκίνητα το καθένα σε μορφή utf-8!
Παραπομπή
EF BB BF54 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 20 6C 69 6E 65 2E
? Αυτή είναι η πρώτη γραμμή.
54 68 69 73 20 69 73 20 73 65 63 6F 6E 64 20 6C 69 6E 65 2E
Αυτή είναι η δεύτερη γραμμή.
Το "EF BB BF" στο κόκκινο μέρος τυχαίνει να είναι η κωδικοποίηση BOM του αρχείου UTF-8, η οποία δείχνει ότι η Java δεν χειρίστηκε σωστά την κωδικοποίηση BOM του αρχείου UTF-8 κατά την ανάγνωση του αρχείου και αντιμετώπισε τα πρώτα 3 byte ως περιεχόμενο κειμένου.
Λύση:
Ο Maven αναφέρεται στο ακόλουθο πακέτο:
Διαβάστε τον κώδικα αρχείου txt ως εξής:
Δοκίμασα αν διάβαζε ένα αρχείο UTF-8 BOM ή ένα αρχείο μορφής UTF-8, μετατράπηκε με επιτυχία σε αρχείο μορφής UTF-8 και η αποσειριοποίηση ήταν επιτυχής!
Μια τελευταία λέξη, όχι πάλι fastjson! Όταν συναντάτε τον ανοιχτό κώδικα της Alibaba, αν δεν είναι η διαφορά στα πλεονεκτήματα, μην κάνετε παράκαμψη.
|