Java com.alibaba.fastjson包解析三种格式json

mac2026-08-09  7

目录

1、json个体

2、简单json数组

3、复杂json数组,且嵌套json


1、json个体

{"percent":10,"policy":1}

解析代码:

String abconfig = "{\"percent\":10,\"policy\":1}"; JSONObject object = new JSONObject().parseObject(abconfig); TestStruct res = JSON.toJavaObject(object, TestStruct.class); System.out.println(res);

定义结构体:

public class TestStruct { private int percent; private String policy; public int getPercent() { return percent; } public void setPercent(int percent) { this.percent = percent; } public String getPolicy() { return policy; } public void setPolicy(String policy) { this.policy = policy; } }

 

2、简单json数组

[1,2,3,4,5,6]

解析代码:

String abconfig = "[1,2,3,4,5,6]"; JSONArray jsArr = JSONArray.parseArray(abconfig); List<Integer> intlist = jsArr.toJavaList(Integer.class); System.out.println(intlist);

 

3、复杂json数组,且嵌套json

首先转换为JSONArray,每个数组元素是一个JSONObject。这个JSONObject的解析通过结构体的定义实现。

多层{}通过多层结构体定义实现。

[{     "percent": 10,     "policy": {         "rankmethod": {             "version": "rulebased"         },         "insize": "500",         "outsize": "100"     }, }, {     "percent": 70,     "policy": {         "rankmethod": {             "version": "rulebased"         },         "insize": "500",         "outsize": "100"     } }]

解析代码:

List<Layer54Struct> AbCnfList = new ArrayList<>(); JSONArray jsonArray = JSONArray.parseArray(AbConf); for (int i = 0; i < jsonArray.size(); i++) { JSONObject object = jsonArray.getJSONObject(i); Layer54Struct abcnfi = JSON.toJavaObject(object, Layer54Struct.class); AbCnfList.add(abcnfi); } return AbCnfList;

定义结构体:

public class Layer54Struct { private int percent; private Layer54Policy policy; private String abtag_id; private String abtag_name; private String whitelist; public String getWhitelist() { return whitelist; } public void setWhitelist(String whitelist) { this.whitelist = whitelist; } public int getPercent() { return percent; } public void setPercent(int percent) { this.percent = percent; } public String getAbtag_id() { return abtag_id; } public void setAbtag_id(String abtag_id) { this.abtag_id = abtag_id; } public String getAbtag_name() { return abtag_name; } public void setAbtag_name(String abtag_name) { this.abtag_name = abtag_name; } public Layer54Policy getPolicy() { return policy; } public void setPolicy(Layer54Policy policy) { this.policy = policy; } } public class Layer54Policy { private String isuse; public String getIsuse() { return isuse; } public void setIsuse(String isuse) { this.isuse = isuse; } }

 

最新回复(0)