下面是对 "Java中JsonObject与JsonArray转换方法实例" 的详细讲解。
什么是JSONObject和JSONArray?
JSONObject
和 JSONArray
是 JSON 格式的两种常用的 Java 类型。其中,JSONObject 是一个键值对的集合,类似于 Java 中的 Map,而 JSONArray 则是一组有序的值集合,类似于 Java 中的 List。
JsonObject与JsonArray的转换
在 Java 中,JsonObject 和 JsonArray 之间是可以相互转换的。下面我们来详细介绍如何进行转化。
1、JsonObject 转 JsonArray
如果我们要将 JsonObject 转成 JsonArray,可以使用以下代码:
JsonObject jsonObject = new JsonObject();
// 向 jsonObject 中添加数据
// ...
// 将 jsonObject 转成 jsonArray
JsonArray jsonArray = new JsonArray();
jsonArray.add(jsonObject);
以上代码将会把一个 JsonObject
对象转换成 JsonArray
对象,且该 JsonArray
对象中只有一个元素,即由 JsonObject
对象转换来的 Json
对象。
2、JsonArray 转 JsonObject
如果我们要将 JsonArray 转成 JsonObject,可以使用以下代码:
JsonArray jsonArray = new JsonArray();
// 向 jsonArray 中添加数据
// ...
// 将 jsonArray 转成 jsonObject
JsonObject jsonObject = new JsonObject();
jsonObject.add("array", jsonArray);
以上代码将会把一个 JsonArray
对象转换成 JsonObject
对象,且该 JsonObject
对象只有一个元素,即由 JsonArray
对象转换来的 Json
对象。
3、示例1
下面是一个完整的示例,将一个包含有多个 Json 对象的 JsonArray,转换成由多个 JsonObject 对象组成的 List:
String jsonStr = "[{ \"name\":\"张三\", \"age\":18 },{ \"name\":\"李四\", \"age\":20 }]";
JsonArray jsonArray = new JsonParser().parse(jsonStr).getAsJsonArray();
List<JsonObject> list = new ArrayList<>();
for (JsonElement jsonElement : jsonArray) {
JsonObject jsonObject = jsonElement.getAsJsonObject();
list.add(jsonObject);
}
System.out.println(list.get(0).get("name").getAsString()); // 输出 "张三"
System.out.println(list.get(1).get("age").getAsInt()); // 输出 "20"
4、示例2
下面是另一个示例,将由多个 JsonObject 组成的 List,转换成一个包含有多个 Json 对象的 JsonArray:
List<JsonObject> list = new ArrayList<>();
// 向 list 中添加数据
// ...
JsonArray jsonArray = new JsonArray();
for (JsonObject jsonObject : list) {
jsonArray.add(jsonObject);
}
System.out.println(jsonArray.toString()); // 输出 [{ "name":"张三", "age":18 },{ "name":"李四", "age":20 }]
以上代码将会把一个由多个 JsonObject 对象组成的 List
对象转换成一个 JsonArray
对象,且该 JsonArray
对象中包含有转换来的多个 JsonObject
对象。
希望这篇攻略对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中JsonObject与JsonArray转换方法实例 - Python技术站