我们用java解析json数据是用: JSONObject jsonObject = JSONObject.parseObject(str);就能获取到json的数据了并根据key取value,但是注意json数据串里如果有数组的话这么取值肯定会有问题的,因为JSONObject 只能取出的是json格式的数据,是不包含数组的,那我们怎么取json串中的数组的数据呢?接下来直接看代码吧!
public String saveMiddle() {
String url = "api接口地址";
// 获取接口地址返回的json数据
String str = HttpClientUtil.doGet(url);
// JSONObject取出json数据
JSONObject jsonObject = JSON.parseObject(str);
// 取出content json数组
String content = jsonObject.getString("content");
// 将content json数组存到list中
List<JSONObject> jsonObjectList = JSON.parseArray(content, JSONObject.class);
List<ResourcesMiddleEntity> list = new ArrayList<>();
// 遍历json数组并取出想要的数据
for (JSONObject jsonObject2 : jsonObjectList) {
long id = jsonObject2.getLong("middleId");
String name = jsonObject2.getString("middleName");
String img = jsonObject2.getString("middleTitleImage");
ResourcesMiddleEntity resourcesMiddleEntity = new ResourcesMiddleEntity(id, name, img);
list.add(resourcesMiddleEntity);
}
audioResourcesService.saveMiddle(list);
return JSONUtil.toJsonString();
}