base url = "https://devapis.gov/services/argonaut/v0/"
method = "GET"
resource = "Patient"
param = "id"
val patientInfoUrl = "https://devapis.gov/services/argonaut/v0/"
val infoInterceptor = Interceptor { chain ->
val newUrl = chain.request().url()
.newBuilder()
.query(accountId)
.build()
val newRequest = chain.request()
.newBuilder()
.url(newUrl)
.header("Authorization",accountInfo.tokenType + " " + accountInfo.accessToken)
.header("Accept", "application/json")
.build()
chain.proceed(newRequest)
}
val infoClient = OkHttpClient().newBuilder()
.addInterceptor(infoInterceptor)
.build()
val retrofit = Retrofit.Builder()
.baseUrl(patientInfoUrl)
.client(infoClient)
.addConverterFactory(GsonConverterFactory.create())
.build()
Logger.i(TAG, "Calling retrofit.create")
try {
// How to get json data here
}catch (e: Exception){
Logger.e(TAG, "Error", e);
}
Logger.i(TAG, "Finished retrofit.create")
}
如何获得原始json输出。如果可能的话,我不想实现用户数据类和解析器。有什么办法吗?
标记重复的帖子(获得原始HTTP响应与改造)不是为Kotlin和我需要Kotlin版本。
这是相当容易的,您只需要使您的网络调用功能这样。
@FormUrlEncoded
@POST("Your URL")
fun myNetworkCall() : Call<ResponseBody>
这里的重点是您的网络调用应该返回responsebody
类型的调用
。并且可以从responsebody
中获得字符串格式的响应。
现在,当您将调用这个函数来执行网络调用时,您将得到原始字符串响应。
MyApi().myNetworkCall().enqueue(object: Callback<ResponseBody>{
override fun onFailure(call: Call<ResponseBody>, t: Throwable) {
//handle error here
}
override fun onResponse(call: Call<ResponseBody>, response: Response<ResponseBody>) {
//your raw string response
val stringResponse = response.body()?.string()
}
})
我可以很容易地得到消息,但我不能从响应中得到“他”数组。 下面是我的数据模型类 这就是我向服务器发送请求的方式:
问题内容: 有没有办法从获取原始/原始JSON值? 问题: 现在是,但是我需要原始字符串。 有没有办法获得这个原始价值?另外,我无法更改创建方式(例如更改设置),因为它作为参数传递给我的课程… (参考:原始的NJsonSchema问题) 问题答案: 您无法获取原始字符串,无法识别日期字符串并将其转换为自身内部的结构。如果您这样做,则可以看到以下内容: 但是,您可以通过执行以下操作以ISO 8601
如何将此Json响应转换为改装bean我得到了Gson错误,就像使用JsonReader一样。setLenient(true)在第1行第1列路径接受格式错误的JSON$ api调用为 字符串CATEGORY\u API=“”https://api.callingservice.com"; 请帮助我解决这个问题,如何将Json响应转换为Bean,我的Bean类如下
问题内容: 如果浏览到,我希望得到以下JSON响应: 但是,如果我使用selenium 我懂了 HTML标记来自哪里?如何从获得HTTP请求的原始JSON响应? 问题答案: 除了原始JSON响应外,还包含HTML以在浏览器中“漂亮地打印”响应。如果使用Firefox DOM和Style Inspector在浏览器中查看JSON响应的源,您将得到相同的结果。 要获取原始JSON响应,您可以照常浏览H
在referfit中,您只能读取response.body()一次,因为它是一个流,一旦调用或自动转换为返回类型中的任何模型类,它就会自动关闭。如果你尝试读两次,那么你会得到上面的错误。 我既需要原始响应字符串,也需要模型类。做这件事最好的方法是什么?我不想调用两次API。有什么方法可以复制响应体吗?理想情况下,我希望简单地获取String并返回响应。也就是说,不必放弃改型带来的通用类型转换器的好
在我的响应中,有一个,没有任何。那么,我如何获取该响应呢? 这是我的JSON代码-