Gson <代码>JsonParser 用于将 Json 数据解析为 JsonElement 和 JsonObject 的解析树。 JsonObject 可用于使用 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
类只有一个默认构造函数。
一旦我们在 JsonElement 树中解析了 JSON 字符串,我们就可以使用它的各种方法来访问 JSON 数据元素。
例如,使用一种类型检查方法找出它代表什么类型的 JSON 元素:
jsonElement.isJsonObject();
jsonElement.isJsonArray();
jsonElement.isJsonNull();
jsonElement.isJsonPrimitive();
我们可以使用相应的方法将 JsonElement 转换为 JsonObject 和 JsonArray:
JsonObject jsonObject = jsonElement.getAsJsonObject();
JsonArray jsonArray = jsonElement.getAsJsonArray();
一旦我们有了 JsonObject
或 JsonArray
实例,我们就可以使用它的 get() 方法从中提取字段。
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"
我们可以使用 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