-
什么是 JSON?
JSON(JavaScript 对象表示法)是一种基于 JavaScript 编程语言子集的简单数据交换格式。
-
Java 和 JavaScript 有什么区别?
尽管名称相似,但它们是两种不同的编程语言。它们都具有类似 C 的语法。差异如下:
- Java 实现了基于类的 OOP 方法,JavaScript 则基于原型;
- Java 有静态类型,JavaScript 有动态类型;
- Java是从编译后的字节码加载的;JavaScript 直接从文件解释。
-
JSON 和 XML 有什么区别?
JSON 是一种数据交换格式。
XML 是一种标记语言(您可以在其中指定语法、结构、数据类型及其一般模型)。
两者都可以用来传输数据。当然,为了使用这两种标准,需要使用不同的框架并且语法也不同。
-
您知道哪些使用 JSON 的框架?
第33级向我们介绍了jackson框架。此外,我将给出另外 3 个,以及对它们进行比较的文章的链接:
- 杰克逊(FasterXML)
- JSON.simple 作者:Yidong Fang
- 来自谷歌的GSON
- 来自 Oracle 的 JSONP
-
您知道哪些使用 XML 的框架?
由于 XML 是一种数据表示格式,因此有更多不同的技术可以使用它。我将给出用于将 Java 对象序列化为 XML 的技术:
- JAXB(包含在JDK中的J中)
- 流媒体
链接与使用 xml 的各种框架的简要概述:JAVA + XML
-
你知道哪些杰克逊注释?
让我们看看讲座中使用的那些:
- @JsonAutoDetect - 放置在类的前面。告诉 Jackson 在写作或阅读时使用此类的字段。在括号中,您可以设置一个参数(fieldVisibility = JsonAutoDetect.Visibility.ANY)来配置将使用的字段的可见性(默认情况下,仅使用公共字段)。
- @JsonIgnore - 放置在字段之前。告诉杰克逊在读/写时忽略该字段。
- @JsonProperty - 放置在字段、getter 或 setter 之前。允许您在序列化期间指定不同的字段名称。
- @JsonWriteNullProperties - 放置在类的前面。为空的对象字段不会被忽略。
- @JsonPropertyOrder - 放置在班级前面。允许您定义 java 对象的字段序列化为 JSON 的顺序。
- @JsonDeserialize - 放置在字段之前。允许您定义 JSON 对象反序列化到的类。例如,在java中,数组和列表被序列化为数组,在反序列化过程中,我们可以选择我们到底想要接收什么。
以下是带有一些注释的网站的链接:Jackson Annotations
-
您了解哪些 JAXB 注释?
我还将仅分析讲座中使用的那些:
- @XmlRootElement - 放置在类之前。表示该对象可以是顶级元素,即 所有其他元素都在其中。
- @XmlType - 放置在类之前。向 XML 架构添加附加信息。您可以指定一些属性,例如元素的顺序、名称等。
- @XmlElement - 放置在字段之前。允许您设置 xml 元素名称、默认值等。
- @XmlElementWrapper - 放置在字段或 getter 之前。允许您为一组元素创建边框标签。
- @XmlJavaTypeAdapter - 放置在类之前。编组/解组此类所需的辅助适配器类在括号中指示。
- @XmlEnum - 放置在枚举之前。在括号中,您可以指定表示枚举值的类型。
- @XmlEnumValue — 放置在枚举值之前。允许您为给定的枚举值指定特殊值。
@XmlAttribute - 放置在字段之前。该字段将表示为 XML 属性。 这是一个带有一些注释的网站的链接(我很抱歉无法为注释创建正确的翻译,这些信息是可以理解的,但我完全不知道如何用俄语正确地说出它):https: // jaxb.java.net/tutorial/index .html
-
JSON中的序列化和反序列化有什么区别?
我不明白问题的本质。我认为比较两个相互过程没有任何意义。也许这是为了比较 JSON 和 XML;下一个问题提供了指向该主题的链接。
-
JSON 和 XML 哪个更好?为什么?
这是一篇比较 JSON 和 XML 的精彩文章:JSON 和 XML。什么更好?
也许不可能说某件事更好。在选择的时候,你应该看看任务本身,以及什么在使用上会更有效。另外,选择可能取决于开发人员的个人喜好。
-
什么是 DTO?
DTO(数据传输对象)是一种包含数据但没有任何处理数据的逻辑的设计模式。DTO 通常用于在不同应用程序之间或同一应用程序内的层之间传输数据。它们可以被视为信息存储库,其唯一目的是将信息传达给接收者。
根据评论纠正了第2、3号问题
GO TO FULL VERSION