fastjson - 将json对象转换成List集合

从接口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;
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容