private static void readJsonFile(InputStream stream){
try {
StringBuilder sb=new StringBuilder();
BufferedReader reader=new BufferedReader(new InputStreamReader(stream));
String tmp=null;
while((tmp=reader.readLine())!=null){
sb.append(tmp);
}
JSONArray array=JSONArray.fromObject(sb.toString());
if (array.size() > 0) {
for (int i = 0; i < array.size(); i++) {
JSONObject object = array.getJSONObject(i);
int id = Integer.parseInt(object.get("id").toString());
String name = object.get("name").toString();
JSONArray functionsArray = object.getJSONArray("functions");
if (functionsArray.size() > 0) {
for (int j = 0; j < functionsArray.size(); j++) {
JSONObject functionsObject = functionsArray.getJSONObject(j);
int functionsId = Integer.parseInt(functionsObject.get("id").toString());
String functionsName = functionsObject.get("name").toString();
JSONArray ordersArray = functionsObject.getJSONArray("orders");
if (ordersArray.size() > 0) {
for (int k = 0; k < ordersArray.size(); k++) {
JSONObject ordersObject = ordersArray.getJSONObject(k);
int ordersId = Integer.parseInt(ordersObject.get("id").toString());
String ordersName = ordersObject.get("name").toString();
String url = ordersObject.get("url").toString();
System.out.println(url);
}
}
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) throws IOException {
logger.info("开始启动main方法......");
InputStream stream=ClassLoader.getSystemResourceAsStream("resource/test.json");
readJsonFile(stream);
}
json文件格式
[
{
"id": 1,
"name": "测试",
"functions": [
{
"id": 23,
"name": "应用接口",
"orders": [
{
"id": 231,
"name": "APP测试",
"url": "resource/appToLock1_4.html"
}
]
}
]
}
//控制台打印url
]