在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
for (int i = 0; i < jsonArray1.length(); i++) {
cityList.add(jsonArray1.getString(i));
}```
在这个例子中,我们首先创建了一个JSONArray对象,并向其中添加了三个字符串元素,然后使用toString方法将JSONArray对象转为JSON字符串。接下来我们又创建了一个新的JSONArray对象,然后将JSON字符串反序列化到这个对象中,最后分别获取了第一个元素值,以及将JSONArray转化为List
本文标题为:JSONObject与JSONArray使用方法解析
- 页面定时刷新(1秒刷新一次) 2023-12-26
- CSS实现Hover下拉菜单的方法 2023-12-15
- 使用ajax跨域调用springboot框架的api传输文件 2023-02-23
- UL里的LI元素左浮动层一行显示时使其居中的方法 2023-12-14
- js获取浏览器的各种属性 2024-01-15
- WKHTML Windows PHP 2023-10-25
- vue项目修改页面title 2023-10-08
- VUE——使用easy-typer-js实现打字机效果 2023-10-08
- 浅析json与jsonp区别及通过ajax获得json数据后格式的转换 2022-12-15
- 浅谈由position属性引申的css进阶讨论 2022-11-20