运用hutool.json
只截取了一部分json,思路在下面
[
{
"code": "fmcCashLake",
"fields": [
{
"name": "资金湖OneId",
"code": "cashLakeId",
"type": "string",
"rel": null,
"key": true
},
{
"name": "数据来源",
"code": "dataSource",
"type": "text",
"rel": "dataSource.code",
"key": false
},
{
"name": "通道标识号",
"code": "payChannelNo",
"type": "number",
"rel": null,
"key": false,
"rules": [
{
"type": "maxlength",
"length": 32
}
]
},
{
"name": "通道流水号",
"code": "payChannelSn",
"type": "text",
"rel": null,
"key": false,
"rules": [
{
"type": "maxlength",
"length": 256
}
]
}
]
//解析json(hutool JSONArray)
public void test() {
//读取json文件里的数据 (绝对路径)
String json = readJson("jsonPath");
JSONArray jsonArray = JSONUtil.parseArray(json);
for (int i = 0; i < jsonArray.size(); i++) {
Object o = jsonArray.get(i);
JSONObject jsonObject = JSONUtil.parseObj(o);
//表名
String code = jsonObject.get("code").toString();
String fields1 = jsonObject.get("fields").toString();
JSONArray fields = JSONUtil.parseArray(fields1);
for (int j = 0; j < fields.size(); j++) {
JSONObject jsonFields = JSONUtil.parseObj(fields.get(j));
//属性编码
String fieldCode = jsonFields.get("code").toString();
//中文名称
String name = jsonFields.get("name").toString();
String key = jsonFields.get("key").toString();
//字段类型
String fieldType = jsonFields.get("type").toString();
String rel = jsonFields.get("rel").toString();
String rules = jsonFields.get("rules").toString();;
JSONArray ruleArray = JSONUtil.parseArray(rules);
for (int k = 0; k < ruleArray.size(); k++) {
JSONObject len = JSONUtil.parseObj(ruleArray.get(k));
//字段长度
String length = len.get("length").toString();
}
}
}
}