JavaRush /จาวาบล็อก /Random-TH /การทำให้เป็นอนุกรมในแจ็กสัน ฉันจะระบุคลาสย่อยที่จะใช้อย่า...
ColdDeath
ระดับ
Москва

การทำให้เป็นอนุกรมในแจ็กสัน ฉันจะระบุคลาสย่อยที่จะใช้อย่างชัดเจนได้อย่างไร

เผยแพร่ในกลุ่ม
อ่านบรรยายที่ระดับ 33 แล้ว ไม่เข้าใจเลยว่าเมื่อซีเรียลไลซ์เป็น JSON โดยใช้ Jackson แล้วระบุฟิลด์เพิ่มเติม ประเภท คลาสที่มีฟิลด์เดียวกัน ต้องทำอย่างไรในการบรรยายที่ 4 ผมระบุว่าต้องการเข้า ฟิลด์ประเภท แต่ไม่มีอะไรเกิด การทำให้เป็นอนุกรมในแจ็กสัน  ฉันจะระบุคลาสย่อยที่จะใช้อย่างชัดเจนได้อย่างไร  - 1 ขึ้น โปรดบอกฉันว่าฉันทำอะไรผิด? โซลูชันคลาสสาธารณะ { โมฆะสาธารณะคงที่ main (String [] args) พ่น IOException { Cat cat = new Cat (); cat.name = "มูร์กา"; อายุแมว = 5; แมวน้ำหนัก = 3; หมา หมา = สุนัขใหม่(); dog.name = "นักฆ่า"; อายุสุนัข = 8; dog.owner = "บิล เจฟเฟอร์สัน"; ArrayList สัตว์เลี้ยง = ArrayList ใหม่ (); สัตว์เลี้ยง.เพิ่ม(แมว); สัตว์เลี้ยง.เพิ่ม(สุนัข); ผู้เขียน StringWriter = StringWriter ใหม่ (); ConvertToJSON(นักเขียน สัตว์เลี้ยง); System.out.println(writer.toString()); //[{"name Harris":Murka","age":5,"weight":3 ข้างล่างชื่อ"Killer","age":8,"owner":Bill Jefferson"}] } โมฆะสาธารณะคงที่ ConvertToJSON (ผู้เขียน StringWriter วัตถุวัตถุ) พ่น IOException { ObjectMapper mapper = new ObjectMapper (); mapper.writeValue (ผู้เขียน วัตถุ); } @JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type") @JsonSubTypes({ @JsonSubTypes.Type(value = Cat.class, name = "cat"), @JsonSubTypes.Type(value = Dog.class , name = "dog") }) คลาสคงที่สาธารณะ Cat ขยาย Pet { อายุ int สาธารณะ; น้ำหนัก int สาธารณะ; } สุนัขคลาสคงที่สาธารณะขยายสัตว์เลี้ยง { อายุ int สาธารณะ; เจ้าของสตริงสาธารณะ } สัตว์เลี้ยงคลาสคงที่สาธารณะ { ชื่อสตริงสาธารณะ; } }
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION