服务器之家

服务器之家 > 正文

Java 使用json-lib处理JSON详解及实例代码

时间:2020-08-12 10:44     来源/作者:java教程网

Java 使用json-lib处理JSON详解

【项目环境】

?
1
2
3
4
5
6
<dependency>
  <groupId>net.sf.json-lib</groupId>
  <artifactId>json-lib</artifactId>
  <version>2.4</version>
  <classifier>jdk15</classifier>
</dependency>

1. JSON 数组对象转化为 List 对象;

?
1
2
3
4
5
6
7
8
9
10
11
/**
 * JSON 数组对象转化为 Java 的 List 对象;
 */
private void jsonArrayToList() {
  // JSON 格式的字符串;
  String jsonStr = "[{\"id\":2,\"isDelete\":false,\"lastLogin\":1460081728077,\"lastIp\":\"10.0.0.1\",\"nickName\":\"admin2\",\"userName\":\"admin2\",\"password\":\"password\"},{\"id\":1,\"isDelete\":false,\"lastLogin\":1460081728077,\"lastIp\":\"10.0.0.1\",\"nickName\":\"Shawearn\",\"userName\":\"shawearn\",\"password\":\"password\"}]";
  // 根据 JSON 字符串生成 JSON 数组对象;
  JSONArray jsonArray = JSONArray.fromObject(jsonStr);
  // JSON 数组对象转化为 List<Admin> 对象;
  List<Admin> admins = JSONArray.toList(jsonArray, Admin.class);
}

2. List 转化为 JSON 数组对象;

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**
 * List 转化成 JSON 数组对象;
 *
 * @param admins
 */
private void listToJSONArray(List<Admin> admins) {
  // 构建 JSONArray 实例对象;
  JSONArray jsonArray = new JSONArray();
  // 判空
  if (admins != null && admins.size() != 0) {
    // 遍历,将 List 中的对象存入 JSONArray 对象中;
    for (Admin admin : admins) {
      jsonArray.add(admin);
    }
  }
}

3. Java 对象转化为 JSON 对象;

?
1
2
3
4
5
6
7
8
9
10
11
/**
 * Java 对象转化成 JSON 对象;
 *
 * @param admin
 */
private void entityToJson(Admin admin) {
  // 新建 JSONObject 的实例化对象;
  JSONObject jsonObject = new JSONObject();
  // 将 admin 对象存入 jsonObject;
  jsonObject.element("admin", admin);
}

4.  Admin.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.shawearn.model;
public class Admin {
  private Integer id;
  private String userName;
  private String password;
  private Boolean isDelete;
  private String nickName;
  private String lastIp;
  private Long lastLogin;
   
  /**
   * 省略相应 get/set 方法;
   */
}

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
返回顶部