沃梦达 / IT编程 / 前端开发 / 正文

JSONObject与JSONArray使用方法解析

在Java开发中,我们经常需要操作JSON格式数据,而Java提供了两个类来操作JSON数据,分别是JSONObject和JSONArray。

JSONObject与JSONArray使用方法解析

在Java开发中,我们经常需要操作JSON格式数据,而Java提供了两个类来操作JSON数据,分别是JSONObject和JSONArray。

JSONObject

JSONObject是JSON的对象表示法,在Java中,我们可以使用JSONObject来构建一个JSON对象。

创建JSONObject

我们可以使用如下方法来创建一个空的JSONObject:
java
JSONObject jsonObject = new JSONObject();
添加一个键值对:
java
jsonObject.put("name", "张三");
使用get方法获取name键对应的值:
java
String name = jsonObject.getString("name");
使用toString方法输出JSONObject对象,转成字符串:
java
String jsonString = jsonObject.toString();

解析JSONObject

解析一个JSON字符串到JSONObject对象:
java
String jsonStr = "{\"name\":\"张三\",\"age\":18}";
JSONObject jsonObject = new JSONObject(jsonStr);
String name = jsonObject.getString("name");
int age = jsonObject.getInt("age");
也可以把JSONObject转换为实体类:
java
class User {
private String name;
private int age;
// 构造方法、Getter和Setter方法省略
}
JSONObject jsonObject = new JSONObject(jsonStr);
User user = new User();
user.setName(jsonObject.getString("name"));
user.setAge(jsonObject.getInt("age"));

JSONArray

JSONArray是JSON的数组表示法,在Java中,我们可以使用JSONArray来构建一个JSON数组。

创建JSONArray

我们可以使用如下方法来创建一个空的JSONArray:
java
JSONArray jsonArray = new JSONArray();
向数组中添加一个字符串:
java
jsonArray.put("北京");
// 或者
jsonArray.add("北京");
向数组中添加一个JSONObject对象:
java
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "张三");
jsonObject.put("age", 18);
jsonArray.put(jsonObject);
向数组中添加一个JSONArray对象:
java
JSONArray jsonArray1 = ...
jsonArray.put(jsonArray1);

解析JSONArray

解析一个JSON字符串到JSONArray对象:
java
String jsonStr = "[\"北京\",\"上海\",\"广州\"]";
JSONArray jsonArray = new JSONArray(jsonStr);
String city = jsonArray.getString(0);
也可以把JSONArray转换为实体类列表:
java
class City {
private String name;
// 构造方法、Getter和Setter方法省略
}
JSONArray jsonArray = new JSONArray(jsonStr);
List<City> cityList = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
City city = new City();
city.setName(jsonObject.getString("name"));
cityList.add(city);
}

示例说明

示例一:创建JSONObject对象并解析

```java
JSONObject jsonObject = new JSONObject();
jsonObject.put("name", "张三");
jsonObject.put("age", 18);
String jsonString = jsonObject.toString();

JSONObject jsonObject1 = new JSONObject(jsonString);
String name = jsonObject1.getString("name");
int age = jsonObject1.getInt("age");```
在这个例子中,我们首先创建了一个JSONObject对象,并向其中添加了name和age两个键值对,然后使用toString方法将JSONObject对象转为JSON字符串。接下来我们又创建了一个新的JSONObject对象,然后将JSON字符串反序列化到这个对象中,最后分别获取了name和age这两个键对应的值,实现了JSONObject的创建和解析。

示例二:创建JSONArray对象并解析

```java
JSONArray jsonArray = new JSONArray();
jsonArray.put("北京");
jsonArray.put("上海");
jsonArray.put("广州");
String jsonString = jsonArray.toString();

JSONArray jsonArray1 = new JSONArray(jsonString);
String city = jsonArray1.getString(0);
List cityList = new ArrayList<>();
for (int i = 0; i < jsonArray1.length(); i++) {
cityList.add(jsonArray1.getString(i));
}```
在这个例子中,我们首先创建了一个JSONArray对象,并向其中添加了三个字符串元素,然后使用toString方法将JSONArray对象转为JSON字符串。接下来我们又创建了一个新的JSONArray对象,然后将JSON字符串反序列化到这个对象中,最后分别获取了第一个元素值,以及将JSONArray转化为List类型,实现了JSONArray的创建和解析。

本文标题为:JSONObject与JSONArray使用方法解析