目录
1、json个体
2、简单json数组
3、复杂json数组,且嵌套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; } }
[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);
首先转换为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; } }
