当前位置:网站首页 > Java教程 > 正文

java json教程



Java JSON 处理教程展示了如何使用 JSON-P 库来处理 JSON。 这些示例将 Java 对象写入 JSON 文件,并将 JSON 数据读取到 Java 对象。 在作者的 Github 存储库中提供了代码示例。

用于 JSON 处理的 Java API(JSON-P)提供可移植的 API,以使用对象模型和流式 API 来解析,生成,转换和查询 JSON。 JSON-P 中使用 JSON 的两种方式有两种:流式 API 和对象模型 API。

流式 API 将解析和生成控制移交给程序员。 流式 API 提供了基于事件的解析器,并允许应用开发人员请求下一个事件,而不是在回调中处理该事件。 这称为拉方法。

名称 描述 包含用于创建 JSON 解析器,生成器及其工厂的静态方法。 表示一个基于事件的解析器,它从流中读取 JSON 数据。 将 JSON 数据一次写入一个值。

对象模型 API 创建一个树形结构,表示内存中的 JSON 数据。 可以灵活地导航和查询树。 另一方面,对象模型 API 的效率通常不如流模型,并且需要更多的内存。

名称 描述 包含用于创建 JSON 解析器,生成器及其工厂的静态方法。 通过添加应用代码中的值在内存中创建对象模型。 通过添加应用代码中的值在内存中创建数组模型。 从输入源读取或。 将或写入输出源。

,,,和是 JSON 数据类型。

在我们的示例中,我们使用 JDK 11 和 Maven 创建我们的应用。

 

在项目中,我们使用和依赖项。

在第一个示例中,我们使用对象生成器创建 JSON 字符串。

 

JSON 字符串被打印到控制台。

 

用创建一个。 新的对将插入。 最后,使用结束字符串。

 

我们使用将转换为字符串。

 

这是输出。

通过配置设置,我们可以设置写入器进行漂亮的打印。

 

在示例中,我们创建一个 JSON 对象并将其打印到控制台。 输出打印精美。

 

配置文件被传递到。

 

This is the output.

是用于创建和修改对象的构建器。

 

在该示例中,我们创建了一个用户对象列表,并将其转换为。

 

用创建一个。

 

在此 for 循环中,我们创建 JSON 对象并将其添加到构建器中。

 

方法从构建器创建。

 

被写入写入器。

 

This is the output.

使用请求解析编程模型解析 JSON。 在此模型中,客户端代码控制线程并在处理每个元素之后调用方法将解析器前进到下一个状态。

解析器生成以下事件之一:,,,,,,,,和。

 

我们将解析文件。

 

在示例中,我们使用 JSON-P 流式 API 解析文件。

 

从创建一个。

 

首先,我们传递数组的开头。

 

然后,我们在 while 循环中遍历数组。 当我们到达数组末尾时,解析器的方法返回。 我们使用拉下一个解析事件。

 

在另一个 while 循环中,我们遍历当前对象的键。

 

在语句中,我们检查密钥名称,并通过获得其值。

 

This is the output.

在第二个示例中,我们连接到网站并从路径获取 JSON 数据。

 

该示例处理了 jsonplaceholder.typicode.com 网站上的一百个帖子,该网站是用于测试和原型制作的虚假在线 REST API。

以流方式将 JSON 数据写入输出源。 包含创建实例的方法。

 

该示例从用户列表创建文件。

 

用创建一个。 工厂接收配置数据,从而可以进行漂亮的打印。

 

数组从开始。 稍后以结束。

 

JSON 对象写在循环中。 JSON 对象以开头,以结束。 键/值对使用编写。

 

使用将数据从缓冲区刷新到数据源。

  • 上一篇: java 6 webservice教程
  • 下一篇: 简易java教程
  • 版权声明


    相关文章:

  • java 6 webservice教程2024-12-26 10:26:01
  • java面向异常教程2024-12-26 10:26:01
  • java做网站教程2024-12-26 10:26:01
  • 初学java的教程2024-12-26 10:26:01
  • java基础案例教程 ppt2024-12-26 10:26:01
  • 简易java教程2024-12-26 10:26:01
  • java教程面向对象2024-12-26 10:26:01
  • java编程app教程2024-12-26 10:26:01
  • java链表菜鸟教程2024-12-26 10:26:01
  • java155教程2024-12-26 10:26:01