当前位置: 首页 > 网络应用技术

数据传输格式

时间:2023-03-06 13:13:18 网络应用技术

  吸引人的

  在实际开发中,我们将在多个系统和系统和项目之间遇到数据交换。在这种情况下,我们该如何实现?

  对于我们来说,我们实际上学到了一些这种交流的手段。例如:SO称为“对象序列化”和“对象的反序列化”。

  现在有一个例子:

  A程序中有一个天气对象,这是当今的天气信息。Program B需要在其界面上显示当今天气,但它无需单独获取数据。它只能找到一个程序。

  那么A程序如何将这些数据提供给B程序?程序A可以通过对象的序列均值将其天气对象转换为二进制流,然后通过网络将其传递给B程序。程序B然后将接收二进制传输通过对象的DEE序列方法回到Java对象。但是,这样做的先决条件是A和B都必须是Java程序。

  那么,是否有更好的方法适应各种情况下的数据传输?

  请让我们分析一下,在这种情况下,我们要双方通过什么?它的数据!数据必须具有数据类型,并且不同编程语言的数据类型不一致。但是有一个数据类型可以安装在所有数据都不会引起歧义,并且所有编程语言都具有它。这是一个字符串。因此,我们可以使用字符串传输数据。

  例如,A程序将数据传递给B程序:“透明32-度量北风2的湿度为20%。”然后B需要分析此数据。例如,我如何分析?它会得到温度吗?从第二个字符开始?您会得到第三个字符吗?人们使用肉眼来发现没有问题,但是程序不起作用,只能基于我们给出的指示。如果我们从第二个字符开始指令,则信息数据变为“ Cloudy 25度...”或“ Cloudy变为清除28度.....”?

  我们以前已经解决了此问题,我们在ATM项目中使用了分隔符:“ Zhang3-123456-1000”。实际上,这是我们对“协议”的定义!当然,我们定义了该协议不是普遍的。它专门用于ATM项目,并且由于数据很简单,因此并不常见。

  此外,对于网络传输还有一个非常重要的要求,也就是说,传输数据应尽可能地简化以实现通道。

  那么,我们需要采用什么样的协议格式来满足刚才提到的普遍性和准确性?在长期设计和实践之后,我们现在在实际应用中看到两种方法:XML和JSON。

  XML的全名:可扩展的标记语言。最早的XML建议不是用于传输数据,而是准备替换HTML。它的目的是允许程序员在开发页面时在HTML中使用这些固定标记,但是他们可以扩展自己的自己符号。例如:<按钮>提交本质上,此事最终被HTML本身升级,然后XML失败了。

  但是,XML在另一个字段中发现其开发是“数据表达式”。XML的格式可以清楚地表明各种复杂的数据结构,并且由于可伸缩性,它还可以允许自定义标记,属性和嵌套关系。它被称为“数据表达式格式”的首选,并且一直使用到现在。它主要用于:数据传输(现在受JSON威胁)和配置文件。

  XML的四个语法主要掌握了它。

  请注意,XML的语法要求比HTML更严格,它需要:

  上述所有语法要求所需的XML称为“法律XML”。法律是指语法。

  使用时法律XML还不够,因为相同的信息可能具有不同的XML写作,但它们是合法的。

  它也可以写为:

  目前,必须统一和调节通信(构建XML数据的人和解释XML数据的人)之间的通信。此规范是So符合的“文档类型定义”。xml可以写入标记和标记之间的嵌套关系吗?

  有必要满足“文档类型定义”的XML,我们可以在实用应用程序中发挥有效的作用,从而使双方完成正确的数据通信。

  综上所述:

  如何自定义XML的“文档类型定义”?目前有两种方法:DTD和Schema。此中文风格:DTD很简单/架构繁琐;DTD较厚/架构细致。

  dtd-文档类型定义 - 文档类型的定义

  它的语法就是这样: 子元素可以通过子元素的子元素的描述使用;它也可以用()元素包装,然后使用元素和元素将选项分开,或者将分离序列分开。

  

  实践:

  这是替换DTD的新规范。它的语法也是XML的语法,并且定义的内容更详细,包括数据类型,其作用与DTD相同。

  根据DTD/架构编写XML后,解释器必须读取并获取数据。

  XML的分析方法分为两种类型:1。DOM解析DOM分析的想法是将整个XML文件读取到内存中以形成完整的文档树。它将将整个文档中的所有信息封装为目标对象的对象的对象,然后使用关联使上下节点关联。我们可以通过节点和节点之间的关系来回穿越本文档树上,以对每个节点进行操作。

  2.例如,SAX解析萨克斯分析的想法是例如,我们想操作“作者”元素,然后萨克斯分析将读取我们从上到下的XML内容。遇到“作者”元素后,您将使用“事件事件”事件。“触发”调用我们的执行代码。

  DOM和SAX之间的差异:1。DOM解析更适合小XML,SAX适合大XML;

  2.在DOM解析后,可以根据节点关系在该树上重复操作文档树。SAX分析只能从上到下读取一次,而不是返回。

  3.大多数XML解析工具都会利用它们的优势并将其结合起来。

  JSON -JAVASCRIPT对象符号-js对象符号。它是一种轻量级数据传输格式,现在它几乎已成为此用法数据传输中的最佳选择。尽管其名称为JavaScript,请记住:它是字符串格式,是一种字符串格式,与任何编程语言无关。可以使用任何编程语言。

  为什么它的名称有JS?这是因为它的语法源自JavaScript对象的字面表达方式。

  JSON在JS中使用两种基本的文字表现来构建其数据:1。数组形式“ [元素1,元素2,元素3]”

  2.对象表单{“属性名称1” =属性值1,“属性名称2” =属性2,...}

  3.更复杂的数据结构由它们之间的各种嵌套表示。

  例如,以前的天气示例:{“城市”:“ Chengdu”,“温度”:32,“天气”:“ Sunny”}

  显然,我们可以感觉到,这种JSON格式的数据都可以显示各种丰富的数据结构,并且比XML更简洁。您只需要掌握“ [],“”,“ {}”,“,”,“,”,“属性名称:属性值”

  这正是由于JSON的优势:字符串的形式可以具有丰富的数据结构和简单,因此,现在JSON是“最佳选择”,在此方向上进行数据传输时!

  那么,我们需要掌握什么Java程序?我们需要掌握什么是将程序中的Java对象转换为JSON格式字符串,同时,我们还可以转换通过JOSON格式的字符串其他人进入Java对象。我们将此操作称为“ JSON的序列化”和“ JSON的反序列化”。

  当然,这些功能无需编写代码即可自己实施。祖先长期以来写了。我们只需要调用以前的代码。

  在Java,Java和Json已被定义为转换规格,然后移交给每个公司和开源组织以实施自己。实现后,他们将发布自己的班级并让我们免费使用它。

  在这里,我建议每个人都使用Ali.ne.的Fastjson进行掌握:

  原始:https://juejin.cn/post/7099336432459710478