【问题标题】:Fetching json response from gists API returning code 200 not JSON in the response body从响应正文中返回代码 200 而不是 JSON 的 gists API 获取 json 响应
【发布时间】:2020-02-15 21:22:13
【问题描述】:

我正在尝试使用 Kotlin 中的编码从 GitHub 的要点中获取 JSON。我收到的回复是

E/tag: Response{protocol=http/1.1, code=200, message=OK, url=https://api.github.com/gists/02d3e6e910739c35fc7d14b3fd16466a} 

我想在响应中获取json

这就是我将 URL 称为我的 MainActivity 的 dis 代码的方式

private val retrofit= Retrofit.Builder().baseUrl("https://api.github.com/")
    .addConverterFactory(GsonConverterFactory.create())
    .build()

private val postsApi = retrofit.create(RequestApi::class.java)
private val response= postsApi.getAllData()

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    response.enqueue(object: Callback<NewResponse>{
        override fun onFailure(call: Call<NewResponse>, t: Throwable) {
           //To change body of created functions use File | Settings | File Templates.
        }

        override fun onResponse(call: Call<NewResponse>, response: Response<NewResponse>) {
            //To change body of created functions use File | Settings | File Templates.
            val mResponse= response.raw().toString()
            Log.e("tag", mResponse)
        }
    })
}

我的请求代码

interface RequestApi {

@GET("gists/02d3e6e910739c35fc7d14b3fd16466a")
fun getAllData(): Call<NewResponse>
}

我的 CVResponse 类是

class CVResponse {

@SerializedName("data")
val data: Data? = null
}

我想像下面这样获取 json

{ “数据”:{ “名称”:“玛丽亚”, “总结”:“可爱且敬业的 IT 顾问,在一家快节奏的金融科技公司拥有超过 5 年的经验。渴望提供出色的分析和计算机技能,以帮助 ABC Inc 扩大其客户群。曾担任顶级公司认可的职位- 广泛的质量满意度评级。", “技能”:[ { "type":"设计语言", “语言”:[ "HTML", "XML", “CSS” ] }, { “类型”:“语言”, “语言”:[ “爪哇”, “C#”, "C++", “科特林” ] }, { "type":"脚本语言", “语言”:[ “Javascript” ] }, { "type":"服务器语言", “语言”:[ “PHP” ] }, { "type":"操作系统", “语言”:[ “视窗”, “苹果”, “安卓” ] }, { “类型”:“数据库”, “语言”:[ “石榴石”, "SQL", “MySQL” ] }, { “类型”:“框架”, “语言”:[ “网豆”, “蚀”, “ADT 捆绑包” ] } ], “教育背景”:[ { "position":"IBM 研究生", “专业”:“国际商务”, “来自”:“2018”, “到”:“2019”, "institute_name":"道格拉斯学院" }, { "position":"信息通信技术研究生", “专业”:“信息技术”, “来自”:“2017”, “到”:“2018”, "institute_name":"道格拉斯学院" }, { "position":"CSE 学士", “专业”:“计算机科学”, “来自”:“2010”, “到”:“2014”, "institute_name":"道格拉斯学院" } ] } }

【问题讨论】:

    标签: android json github kotlin retrofit


    【解决方案1】:

    调用 response.body() 以检索 NewResponse 对象。考虑在 onResponse() 方法上添加其他 HTTP 状态代码的错误处理。提醒一下,'response.body()' 的返回值可能为 null,因此最好也处理这种情况。

    【讨论】:

      猜你喜欢
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 2021-10-19
      • 2019-07-16
      相关资源
      最近更新 更多