java jsonlib 使用_Java 使用json-lib处理JSON详解及实例代码

Java 使用json-lib处理JSON详解

【项目环境】

net.sf.json-lib

json-lib

2.4

jdk15

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

/**

* 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 对象;

List admins = JSONArray.toList(jsonArray, Admin.class);

}

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

/**

* List 转化成 JSON 数组对象;

*

* @param admins

*/

private void listToJSONArray(List admins) {

// 构建 JSONArray 实例对象;

JSONArray jsonArray = new JSONArray();

// 判空

if (admins != null && admins.size() != 0) {

// 遍历,将 List 中的对象存入 JSONArray 对象中;

for (Admin admin : admins) {

jsonArray.add(admin);

}

}

}

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

/**

* Java 对象转化成 JSON 对象;

*

* @param admin

*/

private void entityToJson(Admin admin) {

// 新建 JSONObject 的实例化对象;

JSONObject jsonObject = new JSONObject();

// 将 admin 对象存入 jsonObject;

jsonObject.element("admin", admin);

}

4. Admin.java

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 方法;

*/

}

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用Jackson库来处理大型JSON,以下是使用StreamingAPI来处理JSON的示例代码: ```java import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonToken; import java.io.IOException; import java.io.InputStream; public class JsonStreamingExample { public static void main(String[] args) throws IOException { InputStream inputStream = JsonStreamingExample.class.getResourceAsStream("/large.json"); JsonFactory jsonFactory = new JsonFactory(); JsonParser jsonParser = jsonFactory.createParser(inputStream); while (jsonParser.nextToken() != JsonToken.END_OBJECT) { String fieldName = jsonParser.getCurrentName(); if ("data".equals(fieldName)) { jsonParser.nextToken(); while (jsonParser.nextToken() != JsonToken.END_ARRAY) { String dataFieldName = jsonParser.getCurrentName(); if ("id".equals(dataFieldName)) { jsonParser.nextToken(); System.out.println("id: " + jsonParser.getValueAsString()); } else if ("name".equals(dataFieldName)) { jsonParser.nextToken(); System.out.println("name: " + jsonParser.getValueAsString()); } else { jsonParser.skipChildren(); } } } else { jsonParser.skipChildren(); } } jsonParser.close(); } } ``` 以上代码假设JSON文件的格式如下: ```json { "data": [ { "id": "1", "name": "John" }, { "id": "2", "name": "Jane" } ] } ``` 代码使用JsonParser来遍历JSONJsonToken来判断当前解析到的JSON元素类型,skipChildren方法来跳过不需要处理的元素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Junwei Liang

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值