某接口返回的response:
{
"code":0,
"msg":"success",
"data":{
"domIdList":[
"163",
"165",
"atrol-test1"
],
"reportList":[
{
"createTime":"2022-06-22 15:34:01",
"reportId":"966674106a844035adb1704ee7er2d76"
}
]
}
假如要获取json的msg:
//获取msg字段
String msg = JSONObject.parseObject(response.getBody()).getString("msg");
//获取reportList
String reportList = JSONObject.parseObject(res1.getBody()).getJSONObject("data").getString("reportList");
但是如果想要获取reportId的话,该怎么办呢
String rpId = JSONObject.parseObject(response.getBody()).getJSONObject("data").
getJSONArray("reportList").getJSONObject(0).getString("reportId");
注意事项
java处理 json格式字符串 : 转成 JSONArray 或 JSONObject 类型
1、如果是JSONArray ,格式: 最外层是 中括号,表示数组
格式 : [{key:value},{key:value}… ]
[“str1”,“str2”,“str3”,…]
语法:JSONArray array = JSONArray.parseArray(strs)
注:strs 必须是json格式的字符串, 以"[ ]"中括号开头结尾. 否则会报错.
2、如果是JSONObject ,格式: 最外层是大括号,表示对象
格式:{key:value}
语法::JSONObject result = JSONArray.parseObject(strs );
3、返回结果是"reportIds": [“ads”,“dfse”],想要获取第一个reportId时,
String report0 = JSONObject.parseObject(response.getBody()).getJSONArray(“reportIds”).getString(0)