JavaRush /ื‘ืœื•ื’ Java /Random-HE /ืจืžื” 33. ืชืฉื•ื‘ื•ืช ืœืฉืืœื•ืช ืจืื™ื•ืŸ ื‘ื ื•ืฉื ื”ืจืžื”
Afli
ืจึธืžึธื”
ะกะฐะฝะบั‚-ะŸะตั‚ะตั€ะฑัƒั€ะณ

ืจืžื” 33. ืชืฉื•ื‘ื•ืช ืœืฉืืœื•ืช ืจืื™ื•ืŸ ื‘ื ื•ืฉื ื”ืจืžื”

ืคื•ืจืกื ื‘ืงื‘ื•ืฆื”
ืฉืืœื•ืช/ื”ื•ืกืคื•ืช/ื‘ื™ืงื•ืจืช ื™ืชืงื‘ืœื• ื‘ื‘ืจื›ื”. ืจืžื” 33. ืชืฉื•ื‘ื•ืช ืœืฉืืœื•ืช ืจืื™ื•ืŸ ื‘ื ื•ืฉื ืจืžื” - 1
  1. ืžื” ื–ื” JSON?

    JSON (ืกื™ืžื•ืŸ ืื•ื‘ื™ื™ืงื˜ JavaScript) ื”ื•ื ืคื•ืจืžื˜ ืคืฉื•ื˜ ืœื”ื—ืœืคืช ื ืชื•ื ื™ื ื”ืžื‘ื•ืกืก ืขืœ ืชืช-ืงื‘ื•ืฆื” ืฉืœ ืฉืคืช ื”ืชื›ื ื•ืช JavaScript.

  2. ืžื” ื”ื”ื‘ื“ืœื™ื ื‘ื™ืŸ Java ืœ-JavaScript?

    ืืœื• ื”ืŸ 2 ืฉืคื•ืช ืชื›ื ื•ืช ืฉื•ื ื•ืช, ืœืžืจื•ืช ื”ื“ืžื™ื•ืŸ ื‘ืฉืžื•ืชื™ื”ืŸ. ืœืฉื ื™ื”ื ื™ืฉ ืชื—ื‘ื™ืจ ื“ืžื•ื™ C. ื”ื”ื‘ื“ืœื™ื ื”ื ื›ื“ืœืงืžืŸ:

    • Java ืžื™ื™ืฉืžืช ื’ื™ืฉืช OOP ื”ืžื‘ื•ืกืกืช ืขืœ ืžื—ืœืงื•ืช, JavaScript - ืขืœ ืื‘ื•ืช ื˜ื™ืคื•ืก;
    • ืœื’'ืื•ื•ื” ื™ืฉ ื”ืงืœื“ื” ืกื˜ื˜ื™ืช, ืœ-JavaScript ื™ืฉ ื”ืงืœื“ื” ื“ื™ื ืžื™ืช;
    • Java ื ื˜ืขืŸ ืžืงื•ื“ ื‘ื™ื™ื˜ ืžืงื•ืžืคืœ; JavaScript ืžืชืคืจืฉ ื™ืฉื™ืจื•ืช ืžื”ืงื•ื‘ืฅ.

    ื”ื˜ืงืกื˜ ืฉืœืš ืœืงื™ืฉื•ืจ...

  3. ืžื” ื”ื”ื‘ื“ืœื™ื ื‘ื™ืŸ JSON ืœ-XML?

    JSON ื”ื•ื ืคื•ืจืžื˜ ืœื—ื™ืœื•ืคื™ ื ืชื•ื ื™ื.

    XML ื”ื™ื ืฉืคืช ืกื™ืžื•ืŸ (ื‘ื” ื ื™ืชืŸ ืœืฆื™ื™ืŸ ืชื—ื‘ื™ืจ, ืžื‘ื ื”, ืกื•ื’ื™ ื ืชื•ื ื™ื ื•ื”ืžื•ื“ืœ ืฉืœื”ื ื‘ืื•ืคืŸ ื›ืœืœื™).

    ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืฉื ื™ื”ื ืœื”ืขื‘ืจืช ื ืชื•ื ื™ื. ื‘ืื•ืคืŸ ื˜ื‘ืขื™, ื›ื“ื™ ืœืขื‘ื•ื“ ืขื ืฉื ื™ ื”ืกื˜ื ื“ืจื˜ื™ื, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืžืกื’ืจื•ืช ืฉื•ื ื•ืช ื•ื”ืชื—ื‘ื™ืจ ืฉื•ื ื”.

  4. ืื™ืœื• ืžืกื’ืจื•ืช ืœืขื‘ื•ื“ื” ืขื JSON ืืชื” ืžื›ื™ืจ?

    ืจืžื” 33 ื”ื›ื™ืจื” ืœื ื• ืืช ื”ืžืกื’ืจืช ืฉืœ ื’'ืงืกื•ืŸ. ื‘ื ื•ืกืฃ, ืืชืŸ ืขื•ื“ 3, ื•ืงื™ืฉื•ืจ ืœืžืืžืจ ื‘ื• ื”ื ืžื•ืฉื•ื•ื™ื:

    1. ื’'ืงืกื•ืŸ ืžืืช FasterXML
    2. JSON.simple ืžืืช Yidong Fang
    3. GSON ืžื’ื•ื’ืœ
    4. JSONP ืž-Oracle

    ื”ืฉื•ื•ืืช ืกืคืจื™ื•ืช Java ืœืขื‘ื•ื“ื” ืขื JSON: JSON.simple, GSON, Jackson ื•-JSONP

  5. ืื™ืœื• ืžืกื’ืจื•ืช ืœืขื‘ื•ื“ื” ืขื XML ืืชื” ืžื›ื™ืจ?

    ืžื›ื™ื•ื•ืŸ ืฉ-XML ื”ื•ื ืคื•ืจืžื˜ ื™ื™ืฆื•ื’ ื ืชื•ื ื™ื, ื™ืฉื ืŸ ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ืžื’ื•ื•ื ื•ืช ื™ื•ืชืจ ืœืขื‘ื•ื“ื” ืื™ืชื•. ืื ื™ ืืชืŸ ืืช ื”ื˜ื›ื ื•ืœื•ื’ื™ื•ืช ื”ืžืฉืžืฉื•ืช ืœื”ืกื“ืจืช ืื•ื‘ื™ื™ืงื˜ื™ Java ืœ-XML:

    1. JAXB (ื›ืœื•ืœ ื‘-J ื‘-JDK)
    2. Xstream

    ืงื™ืฉื•ืจ ืขื ืกืงื™ืจื” ืงืฆืจื” ืฉืœ ืžืกื’ืจื•ืช ืฉื•ื ื•ืช ืœืขื‘ื•ื“ื” ืขื xml: JAVA + XML

  6. ืื™ืœื• ื‘ื™ืื•ืจื™ื ืฉืœ ื’'ืงืกื•ืŸ ืืชื” ืžื›ื™ืจ?

    ื‘ื•ืื• ื ืกืชื›ืœ ืขืœ ืืœื” ืฉืฉื™ืžืฉื• ื‘ื”ืจืฆืื•ืช:

    • @JsonAutoDetect - ืžื•ืฆื‘ ืžื•ืœ ื”ื›ื™ืชื”. ืื•ืžืจ ืœื’'ืงืกื•ืŸ ืœื”ืฉืชืžืฉ ื‘ืฉื“ื•ืช ืฉืœ ื›ื™ืชื” ื–ื• ื‘ืขืช ื›ืชื™ื‘ื” ืื• ืงืจื™ืื”. ื‘ืกื•ื’ืจื™ื™ื, ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ืคืจืžื˜ืจ (fieldVisibility = JsonAutoDetect.Visibility.ANY) ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ื”ื ืจืื•ืช ืฉืœ ื”ืฉื“ื•ืช ืฉื™ืฉืžืฉื• (ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืฉื“ื•ืช ืฆื™ื‘ื•ืจื™ื™ื ื‘ืœื‘ื“).
    • @JsonIgnore - ืžืžื•ืงื ืœืคื ื™ ื”ืฉื“ื”. ืื•ืžืจ ืœื’'ืงืกื•ืŸ ืœื”ืชืขืœื ืžื”ืฉื“ื” ื”ื–ื” ื‘ืขืช ืงืจื™ืื”/ื›ืชื™ื‘ื”.
    • @JsonProperty - ืžืžื•ืงื ืœืคื ื™ ื”ืฉื“ื”, ื’ื˜ืจ ืื• ืžื’ื“ื™ืจ. ืžืืคืฉืจ ืœืš ืœืฆื™ื™ืŸ ืฉื ืฉื“ื” ืื—ืจ ื‘ืžื”ืœืš ื”ืกื™ื“ืจื”.
    • @JsonWriteNullProperties - ืžืžื•ืงื ืžื•ืœ ื”ื›ื™ืชื”. ืœื ืชืชืขืœื ืžืฉื“ื•ืช ืื•ื‘ื™ื™ืงื˜ ืฉื”ื null.
    • @JsonPropertyOrder - ืžื•ืฆื‘ ืžื•ืœ ื”ื›ื™ืชื”. ืžืืคืฉืจ ืœืš ืœื”ื’ื“ื™ืจ ืืช ื”ืกื“ืจ ืฉื‘ื• ื”ืฉื“ื•ืช ืฉืœ ืื•ื‘ื™ื™ืงื˜ Java ื™ื•ืขื‘ืจื• ื‘ืกื™ื“ืจื” ืœ-JSON.
    • @JsonDeserialize - ืžืžื•ืงื ืœืคื ื™ ื”ืฉื“ื”. ืžืืคืฉืจ ืœืš ืœื”ื’ื“ื™ืจ ืืช ื”ืžื—ืœืงื” ืฉืืœื™ื” ืื•ื‘ื™ื™ืงื˜ ื”-JSON ืžืกื•ื“ืจ. ืœื“ื•ื’ืžื”, ื‘-java, ืžืขืจื›ื™ื ื•ืจืฉื™ืžื•ืช ืžืกื•ื“ืจื™ื ืœืžืขืจื›ื™ื, ื•ื‘ืžื”ืœืš ื”ืกื™ื“ืจื™ืืœื™ื–ืฆื™ื”, ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื‘ื—ื•ืจ ืžื” ื‘ื“ื™ื•ืง ืื ื—ื ื• ืจื•ืฆื™ื ืœืงื‘ืœ.

    ื”ื ื” ืงื™ืฉื•ืจ ืœืืชืจ ืขื ื›ืžื” ื”ืขืจื•ืช: ื”ืขืจื•ืช ื’'ืงืกื•ืŸ

  7. ืื™ืœื• ื”ืขืจื•ืช JAXB ืืชื” ืžื›ื™ืจ?

    ืื ื™ ื’ื ืื ืชื— ืจืง ืืช ืืœื• ืฉืฉื™ืžืฉื• ื‘ื”ืจืฆืื”:

    • @XmlRootElement - ืžืžื•ืงื ืœืคื ื™ ื”ื›ื™ืชื”. ืžืฆื™ื™ืŸ ืฉืื•ื‘ื™ื™ืงื˜ ื–ื” ื™ื›ื•ืœ ืœื”ื™ื•ืช ืืœืžื ื˜ ื‘ืจืžื” ื”ืขืœื™ื•ื ื”, ื›ืœื•ืžืจ. ื›ืœ ืฉืืจ ื”ืืœืžื ื˜ื™ื ื ืžืฆืื™ื ื‘ืชื•ื›ื•.
    • @XmlType - ืžืžื•ืงื ืœืคื ื™ ื”ื›ื™ืชื”. ืžื•ืกื™ืฃ ืžื™ื“ืข ื ื•ืกืฃ ืœืกื›ื™ืžืช ื”-XML. ืืชื” ื™ื›ื•ืœ ืœืฆื™ื™ืŸ ื›ืžื” ืชื›ื•ื ื•ืช, ื›ื’ื•ืŸ ืกื“ืจ ื”ืืœืžื ื˜ื™ื, ืฉื ื•ื›ื•'.
    • @XmlElement - ืžืžื•ืงื ืœืคื ื™ ื”ืฉื“ื”. ืžืืคืฉืจ ืœืš ืœื”ื’ื“ื™ืจ ืืช ืฉื ืจื›ื™ื‘ ื”-XML, ืขืจืš ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื•ื›ื•'.
    • @XmlAttribute - ืžืžื•ืงื ืœืคื ื™ ื”ืฉื“ื”. ื”ืฉื“ื” ื™ื•ืฆื’ ื›ืชื›ื•ื ืช XML.
    • @XmlElementWrapper - ืžืžื•ืงื ืœืคื ื™ ื”ืฉื“ื” ืื• ื”-Gutter. ืžืืคืฉืจ ืœืš ืœื™ืฆื•ืจ ืชื’ ื’ื‘ื•ืœ ืขื‘ื•ืจ ืงื‘ื•ืฆืช ืืœืžื ื˜ื™ื.
    • @XmlJavaTypeAdapter - ืžืžื•ืงื ืœืคื ื™ ื”ื›ื™ืชื”. ืžื—ืœืงืช ื”ืžืชืื ื”ื ืœื•ื•ื” ื”ื ื“ืจืฉืช ืœืจื™ืฉื•ื/ื‘ื™ื˜ื•ืœ ืจื™ืฉื•ื ืžื—ืœืงื” ื–ื• ืžืฆื•ื™ื ืช ื‘ืกื•ื’ืจื™ื™ื.
    • @XmlEnum - ืžืžื•ืงื ืœืคื ื™ enum. ื‘ืกื•ื’ืจื™ื™ื ื ื™ืชืŸ ืœืฆื™ื™ืŸ ืืช ื”ืกื•ื’ ืฉื‘ื• ืขืจื›ื™ ื”-enum ื™ื•ืฆื’ื•.
    • @XmlEnumValue โ€” ืžืžื•ืงื ืœืคื ื™ ืขืจืš ื”-enum. ืžืืคืฉืจ ืœืš ืœืฆื™ื™ืŸ ืขืจืš ืžื™ื•ื—ื“ ืขื‘ื•ืจ ืขืจืš ืžื ื” ื ืชื•ืŸ.

    ื”ื ื” ืงื™ืฉื•ืจ ืœืืชืจ ืขื ื›ืžื” ื”ืขืจื•ืช (ืื ื™ ืžืชื ืฆืœ ืขืœ ืฉืœื ื”ืฆืœื—ืชื™ ืœื™ืฆื•ืจ ืชืจื’ื•ื ื ื›ื•ืŸ ืœื”ืขืจื•ืช, ื”ืžื™ื“ืข ืžื•ื‘ืŸ, ืื‘ืœ ืื™ืŸ ืœื™ ืžื•ืฉื’ ืื™ืš ืœื”ื’ื™ื“ ืืช ื–ื” ื ื›ื•ืŸ ื‘ืจื•ืกื™ืช): https: // jaxb.java.net/tutorial/index .html

  8. ืžื” ื”ื”ื‘ื“ืœ ื‘ื™ืŸ ืกืจื™ืืœื™ื–ืฆื™ื” ืœื“ื”-ืกืจื™ืืœื™ื–ืฆื™ื” ื‘-JSON?

    ืœื ื”ื‘ื ืชื™ ืืช ืžื”ื•ืช ื”ืฉืืœื”. ืื ื™ ืœื ืจื•ืื” ื˜ืขื ืœื”ืฉื•ื•ืช ื‘ื™ืŸ 2 ืชื”ืœื™ื›ื™ื ื”ื“ื“ื™ื™ื. ืื•ืœื™ ื–ื” ื ื•ืขื“ ืœื”ืฉื•ื•ืช JSON ื•-XML; ืงื™ืฉื•ืจ ืœื ื•ืฉื ื–ื” ืžืกื•ืคืง ื‘ืฉืืœื” ื”ื‘ืื”.

  9. ืžื” ืขื“ื™ืฃ JSON ืื• XML? ืœืžื”?

    ื”ื ื” ืžืืžืจ ื ื”ื“ืจ ืฉืžืฉื•ื•ื” JSON ื•-XML: JSON ื•-XML. ืžื” ืขื“ื™ืฃ?

    ืื•ืœื™ ืื™ ืืคืฉืจ ืœื”ื’ื™ื“ ืฉืžืฉื”ื• ื˜ื•ื‘ ื™ื•ืชืจ. ื‘ืขืช ื”ื‘ื—ื™ืจื”, ื›ื“ืื™ ืœื”ืกืชื›ืœ ืขืœ ื”ืžืฉื™ืžื” ืขืฆืžื” ื•ืžื” ื™ื”ื™ื” ื™ืขื™ืœ ื™ื•ืชืจ ื‘ืฉื™ืžื•ืฉ. ื‘ื ื•ืกืฃ, ื”ื‘ื—ื™ืจื” ืขืฉื•ื™ื” ืœื”ื™ื•ืช ืชืœื•ื™ื” ื‘ื”ืขื“ืคื•ืช ื”ืื™ืฉื™ื•ืช ืฉืœ ื”ืžืคืชื—.

  10. ืžื” ื–ื” DTO?

    DTO (Data Transfer Object) ื”ื•ื ื“ืคื•ืก ืขื™ืฆื•ื‘ ื”ืžื›ื™ืœ ื ืชื•ื ื™ื ืœืœื ื›ืœ ื”ื™ื’ื™ื•ืŸ ืœืขื‘ื•ื“ ืื™ืชื•. DTOs ืžืฉืžืฉื™ื ื‘ื“ืจืš ื›ืœืœ ืœื”ืขื‘ืจืช ื ืชื•ื ื™ื ื‘ื™ืŸ ื™ื™ืฉื•ืžื™ื ืฉื•ื ื™ื, ืื• ื‘ื™ืŸ ืฉื›ื‘ื•ืช ื‘ืชื•ืš ืื•ืชื• ื™ื™ืฉื•ื. ื ื™ืชืŸ ืœืจืื•ืช ื‘ื”ื ืžืื’ืจ ืžื™ื“ืข ืฉืžื˜ืจืชื• ื”ื™ื—ื™ื“ื” ื”ื™ื ืœื”ืขื‘ื™ืจ ืžื™ื“ืข ื–ื” ืœื ืžืขืŸ.

ืจืžื” 33. ืชืฉื•ื‘ื•ืช ืœืฉืืœื•ืช ืจืื™ื•ืŸ ื‘ื ื•ืฉื ืจืžื” - 2
ืขื•ื“ื›ืŸ 11/10/2016 ื‘ืฉืขื” 15.50

ืฉืืœื•ืช ืžืก' 2 ืžืก' 3 ืชื•ืงื ื”, ืœืคื™ ื”ื”ืขืจื”

ื”ืขืจื•ืช
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION