Gson JsonParser - 将 JSON 字符串解析为 JsonElement

位置:首页>文章>详情   分类: Web前端 > 编程技术   阅读(454)   2023-06-26 07:54:31

Gson <代码>JsonParser 用于将 Json 数据解析为 JsonElementJsonObject 的解析树。 JsonObject 可用于使用 JSON 字符串中的相应键来访问值。

1.解析JSON

Gson 2.8.6开始,我们可以在此类中直接使用以下static方法之一。

  • parseReader(JsonReader)
  • parseReader(阅读器)
  • parseReader(String)
// string is of type java.lang.String
JsonElement jsonElement = JsonParser.parseString​(string);

// ioReader is of type java.io.Reader
JsonElement jsonElement = JsonParser.parseReader​(ioReader);

// jsonReader is of type com.google.gson.stream.JsonReader
JsonElement jsonElement = JsonParser.parseReader​(jsonReader);

在 2.8.6 版本之前,JsonParser 类只有一个默认构造函数。

2. JsonElementJsonObjectJsonArray

一旦我们在 JsonElement 树中解析了 JSON 字符串,我们就可以使用它的各种方法来访问 JSON 数据元素。

例如,使用一种类型检查方法找出它代表什么类型的 JSON 元素:

jsonElement.isJsonObject();
jsonElement.isJsonArray();
jsonElement.isJsonNull();
jsonElement.isJsonPrimitive();

我们可以使用相应的方法将 JsonElement 转换为 JsonObjectJsonArray

JsonObject jsonObject = jsonElement.getAsJsonObject();
JsonArray jsonArray = jsonElement.getAsJsonArray();

一旦我们有了 JsonObjectJsonArray 实例,我们就可以使用它的 get() 方法从中提取字段。

4. Gson JsonParser 例子

Java 程序使用 JsonParser 将 JSON 解析为 JsonElement(和 JsonObject)并使用键获取 JSON 值。

import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

public class JsonElementExample {
  public static void main(String[] args) {
    String json = "{'id': 1001, "
        + "'firstName': 'Lokesh',"
        + "'lastName': 'Gupta',"
        + "'email': 'howtodoinjava@gmail.com'}";

    JsonElement jsonElement = JsonParser.parseString(json);

    JsonObject jsonObject = jsonElement.getAsJsonObject();

    System.out.println( jsonObject.get("id") );
    System.out.println( jsonObject.get("firstName") );
    System.out.println( jsonObject.get("lastName") );
    System.out.println( jsonObject.get("email") );
  }
}

程序输出。

1001
"Lokesh"
"Gupta"
"howtodoinjava@gmail.com"

5.使用fromJson()获取JsonObject

我们可以使用 Gson 实例和它的 fromJson() 方法来获得相同的结果。

String json = "{'id': 1001, "
		+ "'firstName': 'Lokesh',"
		+ "'lastName': 'Gupta',"
		+ "'email': 'howtodoinjava@gmail.com'}";

JsonObject jsonObject = new Gson().fromJson(json, JsonObject.class);

System.out.println(jsonObject.get("id"));
System.out.println(jsonObject.get("firstName"));
System.out.println(jsonObject.get("lastName"));
System.out.println(jsonObject.get("email"));

程序输出。

1001
"Lokesh"
"Gupta"
"howtodoinjava@gmail.com"

请将您与使用 Jsonparser 在 Java 中从 json 字符串获取值 相关的问题交给我。

快乐学习!!

地址:https://www.cundage.com/article/gson-jsonparser.html

相关阅读

Gson &lt;代码&gtl;JsonParser 用于将 Json 数据解析为 JsonElement 和 JsonObject 的解析树。 JsonObject 可用于使用 JSON 字符...
在 JavaScript Mustache 教程中,我们展示了如何使用 Mustache 模板引擎。 胡子 胡子 是一个简单的网页模板系统。它适用于许多编程语言,包括 JavaScript 和 ...
JavaScript JSON.stringify 教程展示了如何将 JavaScript 对象转换为 JSON 字符串。 JSON JSON(JavaScript 对象显示法) 是一种轻量级数...
JavaScript JSON.parse 教程展示了如何将 JSON 字符串解析为 JavaScript 对象。 JSON JSON(JavaScript 对象显示法) 是一种轻量级数据交换格...
本教程解释了如何在 Jersey 2 中使用 JSONP JSON 提供程序.x。就像我们在 Jersey MOXy 示例 中讨论的那样,JSONP 也是可自动发现的。 JSONP maven ...
JSON Server 教程介绍了 JavaScript json-server 库,它可用于创建伪造的 REST API。 JSON服务器 json 服务器 是一个用于创建测试 REST AP...
JSON forEach 教程展示了如何在 JavaScript 中循环遍历 JSON 数组。在本文中,我们使用 JSON 服务器来处理测试数据。 json 服务器 是一个用于创建测试 REST...
JavaScript JSON 漂亮打印教程展示了如何在 JavaScript 中漂亮地打印 JSON 数据。漂亮的印刷是一种风格格式,包括缩进和着色。 JSON(JavaScript 对象显示...
JavaScript 从 URL 读取 JSON 教程展示了如何从提供的 URL 读取 JSON 格式的数据。我们使用 JQuery、Fetch API 和 XMLHttpRequest。 网址...
屏蔽敏感信息是处理敏感客户数据的应用程序非常实际的需求。例如,银行应用程序。当这些应用程序在组织内部网络中运行时,很多时候会生成 UI 日志并将其存储在用户的机器上以供调试之用。 在上述情况下,...