从接口response里拿出json格式的返回对象,转换成String类型
def data = JSONPath.read(responseString, '$.data') // responseString就是String类型的文本
//使用JSONPath.read方法需要import com.alibaba.fastjson.JSONPath
此时如果data是个数组时,返回类型是class com.alibaba.fastjson.JSONArray
如果data是一个普通数据节点,返回类型是class java.lang.String
对于JSONArray,可以将其存进List,对象类型是Video
List<Video> videos = JSONObject.parseArray(data.toJSONString(), new Video().class, new ParserConfig())
//data.toJSONString是将JSONArray文本转换成String类型
//因为fastjson的parseArray方法只处理String类型
//此前需要
import com.alibaba.fastjson.JSONArray
import com.alibaba.fastjson.JSONPath
import com.alibaba.fastjson.JSONObject
import com.alibaba.fastjson.parser.ParserConfig
Json format sample:
{
"code":0,
"message":"0",
"ttl":1,
"data":[
{
"aid":"672247475",
"bvid":"BV1BU4y1a7ih",
"typename":"日常",
"title":"aaaa1",
"subtitle":""
},
{
"aid":"672247476",
"bvid":"BV1BU4y1a7ih",
"typename":"日常",
"title":"aaaa2",
"subtitle":""
}]
}
以下类用于处理数组对象的格式
public class Video {
public String aid;
public String bvid;
public String typename;
public String title;
public Video(String aid, String bvid, String typename, String title) {
this.aid = aid;
this.bvid = bvid;
this.typename = typename;
this.title = title;
}