色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java json多層解析

林子帆1年前10瀏覽0評論

Java中的JSON多層解析,指在JSON數據中,存在多層嵌套的情況,需要逐層解析。下面通過實際代碼來詳細介紹。

//假設JSON數據為:
{
"name": "張三",
"age": 18,
"school": {
"name": "清華大學",
"location": "北京市海淀區"
},
"courses": [
{
"name": "Java",
"teacher": "李四"
},
{
"name": "Python",
"teacher": "王五"
}
]
}
//1. 使用JSONObject解析第一層數據
JSONObject jsonObject = new JSONObject(jsonStr); //jsonStr為JSON字符串
String name = jsonObject.getString("name"); //獲取name字段值
int age = jsonObject.getInt("age"); //獲取age字段值
//2. 使用JSONObject解析第二層數據
JSONObject schoolJson = jsonObject.getJSONObject("school"); //獲取school字段值
String schoolName = schoolJson.getString("name"); //獲取name字段值
String schoolLocation = schoolJson.getString("location"); //獲取location字段值
//3. 使用JSONArray解析第二層數據
JSONArray coursesArray = jsonObject.getJSONArray("courses"); //獲取courses字段值
for (int i = 0; i< coursesArray.length(); i++) {
JSONObject courseJson = coursesArray.getJSONObject(i);
String courseName = courseJson.getString("name"); //獲取name字段值
String courseTeacher = courseJson.getString("teacher"); //獲取teacher字段值
}
//4. 使用JSONObject和JSONArray結合解析第三層數據(以獲取第二個course的name為例)
JSONObject courseJson = jsonObject.getJSONArray("courses").getJSONObject(1); //獲取第二個元素(索引從0開始)
String courseName = courseJson.getString("name"); //獲取name字段值

可以看出,JSON多層解析需要對JSONObject和JSONArray類的API方法熟悉并能夠正確使用,同時加強對JSON數據結構的理解。