接口返回数据:
"{\"IsSuccess\":true,\"Message\":\"接口访问成功\"}
解析报错:java.lang.String cannot be cast to com.alibaba.fastjson.JSONObject
原因:接口返回的数据中有\和”,要替换掉 ,代码如下:
override def doComputeInSpark(args: Array[String]): Dataset[Row] = { val url = "" val data = ScalaHttpUtil.getResponse(url) .replace("\\","").tail.init //剔除字符串中的\ 和开头结尾的“ println("data: " + data) // 解析方式一:fastjson val libraryResponse1 = JSON.parseObject(data) println("libraryResponse1: " + libraryResponse1) // 解析方式二:谷歌Gson val gson = new Gson val libraryResponse2 = gson.fromJson(data, classOf[LibraryResponse]) println("libraryResponse2: " + libraryResponse2) null }